Бот Microsoft Teams — отладка потока токенов обновления

#.net #botframework #microsoft-teams

#.net #botframework #microsoft-teams

Вопрос:

При разработке бота Microsoft Teams я столкнулся с проблемой, из-за которой конечная точка токена обновления никогда не вызывается. Я считаю, что это моя ошибка в конфигурациях, но я не могу найти никаких подробностей о том, что именно происходит не так. Что я сделал:

  1. Задайте URL-адрес обмена токенами в настройках бота на стороне Azure
  2. Установите области на email offline_access
  3. Проверил, что refresh_token было выпущено: я вижу, что code были проблемы:
 {
  "code": "[removed for security reasons]",
  "grant_type": "authorization_code",
  "redirect_uri": "https://token.botframework.com/.auth/web/redirect",
  "client_id": "microsoft-teams-bot",
  "client_secret": "[removed for security reasons]"
}
  

и после этого refresh_token был выдан code :

 {
  "scope": "email offline_access",
  "token_type": "Bearer",
  "access_token": "[removed for security reasons]",
  "expires_in": 3600,
  "refresh_token": "[removed for security reasons]"
}
  

но refresh_token после этого никогда не используется.

Есть идеи, что может быть не так?

Комментарии:

1. Обновление токена может быть обработано в поддерживаемом процессе. Если срок действия текущего токена истекает, вызывается метод обновления токена аутентификации. Не могли бы вы, пожалуйста, проверить эти документы для получения дополнительной информации

2. То, что я пытаюсь отладить, это метод токена аутентификации обновления, не вызывается.

3. Токен авторизации обновления будет вызван только тогда, когда истечет срок действия вашего текущего токена. Это будет автоматически обработано в серверной части.

4. Проблема в том, что он не вызывается. Срок действия токена доступа истекает, а конечная точка обмена токенами не вызывается. Таким образом, пользователям приходится повторно входить в систему каждый час. И я не могу найти, почему он не вызывается (

5. github.com/microsoft/botframework-sdk/issues/5990 перепечатано на github.

Ответ №1:

Проблема заключалась в неправильной конфигурации бота. Он использует конечную точку обновления для получения токена доступа с помощью токена обновления (но я думаю, что он использует конечную точку exchange).