Bug Description
When using ctx.sign_in() with microsoft-teams-apps in a personal chat, the SDK indicates the sign-in prompt was sent, but no OAuth button/card appears in Teams.
Backend logs show Token Service calls succeed (GetSignInResource 200, activity post accepted), yet user never sees a usable prompt and cannot complete native sign-in.
In our testing, fallback magic-code flow (explicit sign-in link + pasted 6-digit code) works reliably, which suggests the issue is in native OAuth prompt/token-exchange handling path.
Tech Details
- SDK: microsoft-teams-apps (alpha line in use)
- OS: macOS (Darwin 25.1.0)
- Bot type: Teams bot, personal scope
- Flow used:
- await ctx.sign_in()
- @app.event("sign_in") handler present
- Observed backend sequence:
- GET /api/usertoken/GetToken -> 404 (expected when signed out)
- GET /api/botsignin/GetSignInResource -> 200
- POST /v3/conversations/.../activities -> 202 Accepted
- App log: native sign_in prompted user
- No prompt/button visible in Teams client
Steps to Reproduce
Create a minimal bot with:
- @app.on_message calling await ctx.sign_in() when not ctx.is_signed_in
- @app.event("sign_in") handler
Install app in Teams personal scope.
Ensure user is signed out (ctx.sign_out()), then send hi.
Observe backend logs and client UI.
Expected Behavior
- Teams shows OAuth prompt/button/card for user to authenticate.
- On completion, app receives sign_in callback and token is available.
Actual Behavior
- Backend indicates sign-in prompt was requested/sent.
- No prompt/button/card appears in Teams UI.
- No successful sign-in callback.
- In comparable test path, Teams emits signin/failure (resourcematchfailed), but native app flow does not provide a clear first-class failure surface.
SDK Version
3.13.12
Python Version
2.0.0a10
Additional Context
No response
Bug Description
When using ctx.sign_in() with microsoft-teams-apps in a personal chat, the SDK indicates the sign-in prompt was sent, but no OAuth button/card appears in Teams.
Backend logs show Token Service calls succeed (GetSignInResource 200, activity post accepted), yet user never sees a usable prompt and cannot complete native sign-in.
In our testing, fallback magic-code flow (explicit sign-in link + pasted 6-digit code) works reliably, which suggests the issue is in native OAuth prompt/token-exchange handling path.
Tech Details
Steps to Reproduce
Create a minimal bot with:
Install app in Teams personal scope.
Ensure user is signed out (ctx.sign_out()), then send hi.
Observe backend logs and client UI.
Expected Behavior
Actual Behavior
SDK Version
3.13.12
Python Version
2.0.0a10
Additional Context
No response