Я пытаюсь показать пользователю карту OAuth для входа в систему и получить токен доступа JWT, чтобы я мог использовать его для выдачи себя за другое лицо его/ее в моем боте Teams. Конфигурации приложения и бот были настроены точно согласно следующей ссылке.
https://learn.microsoft.com/en-us/micro ... ots/how-to /authentication/add-authentication?tabs=python%2Cpython-sample
Текущее состояние
Я не использую функцию диалогов SDK, а скорее , я отправляю карту OAuth напрямую следующим образом.
Код: Выделить всё
async def dispatch_signin_card(self, turn_context):
oauth_card = OAuthCard(
text="Sign in to continue",
connection_name=self.connection_name,
buttons=[
CardAction(
type=ActionTypes.signin,
title="Sign in"
)
]
)
await turn_context.send_activity(
Activity(attachments=[CardFactory.oauth_card(oauth_card)]))
Код: Выделить всё
async def get_token(self, turn_context: TurnContext):
# Try to get the token from the token exchange or from a prior sign-in
token_response = None
# Check if the activity contains a token response
if turn_context.activity.value and "token" in turn_context.activity.value:
token_response = TokenResponse(token=turn_context.activity.value["token"])
if not token_response:
# If no token in the activity, try to retrieve it from the OAuth connection
token_response = await turn_context.adapter.get_user_token(turn_context, self.connection_name)
return token_response

Он не работает ни в Teams, ни в Desktop Client, ни в веб-клиенте. Выдает следующую ошибку.

Что я уже пробовал
- Я пробовал добавить *.botframwework.com, token.botframework.com, свой экземпляр ngrok url иgraph.microsoft.com в список действительных доменов, поскольку я читал их в различных статьях поддержки.
- Я попробовал трижды проверить свои регистрации приложений и их конфигурации, если они были настроено правильно.
- Я попробовал создать ссылку для входа вручную, но не смог понять, как создается ссылка OAuth. Я заметил, что каждый раз, когда создается новая ссылка, она принимает вид https://token.botframework.com/api/oaut ... n=some_ids
- Я также прочитал много сообщения, в которых говорится о некотором ожидании (4 часа), прежде чем изменения в манифесте приложения фактически отразятся в Teams. (К сожалению, проблема не в этом).
- Я пробовал проверять трафик на своем экземпляре ngrok, когда нажимал кнопку входа в команды. Никакой активности нет.
Кстати, я использую пакет botbuilder-integration-aiohttp==4.15.0.
Подробнее здесь: https://stackoverflow.com/questions/790 ... ulator-and