Skip to content

SignIn issue #20

Description

Followed all the steps to create app registration, permissions, bot service etc etc but when I add this in code:

[Message] public async Task OnEveryMessage(IContext<MessageActivity> context, [Context] IContext.Client client) { if (!context.IsSignedIn) { await client.SignIn(); } }
I obtain a Stack Overflow exception with a VERY long stack trace :), a snippet is reported at the end of the issue, should be enough to get the recursion problem.

If instead of client.SignIn() I use await context.SignIn(); I obtain this exception:
System.InvalidCastException: 'Unable to cast object of type 'Microsoft.Teams.Apps.Context1[Microsoft.Teams.Api.Activities.MessageActivity]' to type 'Microsoft.Teams.Apps.IContext1[Microsoft.Teams.Api.Activities.IActivity]'.'

Examples lacks on documenting this for C#, actually in the dotnet docs there are typescript snippets.
Thanks!

Stack Trace snippet

at Microsoft.Teams.Api.Activities.Invokes.SignInActivity+JsonConverter.Read(System.Text.Json.Utf8JsonReader ByRef, System.Type, System.Text.Json.JsonSerializerOptions)
at System.Text.Json.Serialization.JsonConverter1[[System.__Canon, System.Private.CoreLib, Version=9.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].TryRead(System.Text.Json.Utf8JsonReader ByRef, System.Type, System.Text.Json.JsonSerializerOptions, System.Text.Json.ReadStack ByRef, System.__Canon ByRef, Boolean ByRef) at System.Text.Json.Serialization.JsonConverter1[[System.__Canon, System.Private.CoreLib, Version=9.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].ReadCore(System.Text.Json.Utf8JsonReader ByRef, System.__Canon ByRef, System.Text.Json.JsonSerializerOptions, System.Text.Json.ReadStack ByRef)
at System.Text.Json.Serialization.Metadata.JsonTypeInfo1[[System.__Canon, System.Private.CoreLib, Version=9.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].Deserialize(System.Text.Json.Utf8JsonReader ByRef, System.Text.Json.ReadStack ByRef) at System.Text.Json.JsonSerializer.ReadFromSpan[[System.__Canon, System.Private.CoreLib, Version=9.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](System.ReadOnlySpan1, System.Text.Json.Serialization.Metadata.JsonTypeInfo1<System.__Canon>, System.Nullable1)
at System.Text.Json.JsonSerializer.ReadFromSpan[[System.__Canon, System.Private.CoreLib, Version=9.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](System.ReadOnlySpan1<Char>, System.Text.Json.Serialization.Metadata.JsonTypeInfo1<System.__Canon>)
at System.Text.Json.JsonSerializer.Deserialize[[System.__Canon, System.Private.CoreLib, Version=9.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](System.String, System.Text.Json.JsonSerializerOptions)
at Microsoft.Teams.Api.Activities.InvokeActivity+JsonConverter.Read(System.Text.Json.Utf8JsonReader ByRef, System.Type, System.Text.Json.JsonSerializerOptions)
at System.Text.Json.Serialization.JsonConverter1[[System.__Canon, System.Private.CoreLib, Version=9.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].TryRead(System.Text.Json.Utf8JsonReader ByRef, System.Type, System.Text.Json.JsonSerializerOptions, System.Text.Json.ReadStack ByRef, System.__Canon ByRef, Boolean ByRef) at System.Text.Json.Serialization.JsonConverter1[[System.__Canon, System.Private.CoreLib, Version=9.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].ReadCore(System.Text.Json.Utf8JsonReader ByRef, System.__Canon ByRef, System.Text.Json.JsonSerializerOptions, System.Text.Json.ReadStack ByRef)
at System.Text.Json.Serialization.Metadata.JsonTypeInfo1[[System.__Canon, System.Private.CoreLib, Version=9.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].Deserialize(System.Text.Json.Utf8JsonReader ByRef, System.Text.Json.ReadStack ByRef) at System.Text.Json.JsonSerializer.ReadFromSpan[[System.__Canon, System.Private.CoreLib, Version=9.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](System.ReadOnlySpan1, System.Text.Json.Serialization.Metadata.JsonTypeInfo1<System.__Canon>, System.Nullable1)
at System.Text.Json.JsonSerializer.ReadFromSpan[[System.__Canon, System.Private.CoreLib, Version=9.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](System.ReadOnlySpan1<Char>, System.Text.Json.Serialization.Metadata.JsonTypeInfo1<System.__Canon>)
at System.Text.Json.JsonSerializer.Deserialize[[System.__Canon, System.Private.CoreLib, Version=9.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](System.String, System.Text.Json.JsonSerializerOptions)
at Microsoft.Teams.Api.Activities.Activity+JsonConverter.Read(System.Text.Json.Utf8JsonReader ByRef, System.Type, System.Text.Json.JsonSerializerOptions)
at System.Text.Json.Serialization.JsonConverter1[[System.__Canon, System.Private.CoreLib, Version=9.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].TryRead(System.Text.Json.Utf8JsonReader ByRef, System.Type, System.Text.Json.JsonSerializerOptions, System.Text.Json.ReadStack ByRef, System.__Canon ByRef, Boolean ByRef) at System.Text.Json.Serialization.JsonConverter1[[System.__Canon, System.Private.CoreLib, Version=9.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].ReadCore(System.Text.Json.Utf8JsonReader ByRef, System.__Canon ByRef, System.Text.Json.JsonSerializerOptions, System.Text.Json.ReadStack ByRef)
at System.Text.Json.Serialization.Metadata.JsonTypeInfo1[[System.__Canon, System.Private.CoreLib, Version=9.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].ContinueDeserialize(System.Text.Json.Serialization.ReadBufferState ByRef, System.Text.Json.JsonReaderState ByRef, System.Text.Json.ReadStack ByRef, System.__Canon ByRef) at System.Text.Json.Serialization.Metadata.JsonTypeInfo1+d__1[[System.__Canon, System.Private.CoreLib, Version=9.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].MoveNext()
at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[[System.Text.Json.Serialization.Metadata.JsonTypeInfo1+<DeserializeAsync>d__1[[System.__Canon, System.Private.CoreLib, Version=9.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Text.Json, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51]](<DeserializeAsync>d__1<System.__Canon> ByRef) at System.Runtime.CompilerServices.AsyncValueTaskMethodBuilder1[[System.__Canon, System.Private.CoreLib, Version=9.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].Start[[System.Text.Json.Serialization.Metadata.JsonTypeInfo1+<DeserializeAsync>d__1[[System.__Canon, System.Private.CoreLib, Version=9.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Text.Json, Version=9.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51]](<DeserializeAsync>d__1<System.__Canon> ByRef) at System.Text.Json.Serialization.Metadata.JsonTypeInfo1[[System.__Canon, System.Private.CoreLib, Version=9.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].DeserializeAsync(System.IO.Stream, System.Threading.CancellationToken)
at System.Text.Json.Serialization.Metadata.JsonTypeInfo`1+d__6[[System.__Canon, System.Private.CoreLib, Version=9.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].MoveNext()

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions