Карта OAuth [Нет диалогов] не работает в клиенте MS Teams. Работает в эмуляторе и веб-чатеPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Карта OAuth [Нет диалогов] не работает в клиенте MS Teams. Работает в эмуляторе и веб-чате

Сообщение Anonymous »

Что я пытаюсь сделать?
Я пытаюсь показать пользователю карту 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)]))
Каждый раз, когда появляется сообщение (on_message_activity), я проверяю, есть ли у объекта Turn_context токен для принятия решения об отправке новой карты входа. например следующее

Код: Выделить всё

    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
Карта отлично работает в эмуляторе, как показано ниже, и в веб-чате из интерфейса Azure Bot.
Изображение

Он не работает ни в 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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»