Может кто-нибудь объяснить о тайм-аутах и ​​проверке доступа к приложениям Azure AD и refresh_token (s)? - PullRequest
1 голос
/ 24 февраля 2020
  1. Можем ли мы использовать тот же токен доступа для запроса другого ресурса приложения или проверки токена. Что происходит через 3599 секунд с access_token? мы можем все еще использовать его?
  2. Сколько раз мы можем использовать один и тот же токен refre sh? (Есть ли способ ограничить один раз, если это возможно)
  3. Как проверить, были ли существующие access_token и refresh_token действительными или нет?

Пожалуйста, помогите.

ПАВАНСАЙ C

1 Ответ

1 голос
/ 24 февраля 2020
  1. Можем ли мы использовать тот же токен доступа для запроса другого ресурса приложения или проверки токена. Что происходит через 3599 секунд с access_token? можем ли мы по-прежнему использовать его?

Когда вы приобретаете токен доступа, он предназначен только для определенных ресурсов (вы указываете их при запросе токена). Вы не можете использовать этот токен для любых других ресурсов. Обычно токен доступа действителен в течение часа (3600 секунд), но его можно настроить на уровне Azure AD. По истечении этого периода вы больше не сможете использовать этот токен, так как его использование приведет к ошибке.

Сколько раз мы можем использовать один и тот же рефрен sh токен? (Есть ли способ ограничить один раз, если это возможно)

Подобно токену доступа, есть также абсолютный срок действия для refre sh токена (обычно это 14 дней). Когда вы используете токен refre sh для получения нового токена доступа, вы также получаете новый токен refre sh. Вы должны использовать новый токен refre sh вместо старого.

Как проверить, являются ли существующие access_token и refresh_token действительными или нет?

A успешный ответ на запрос маркера доступа будет включать количество секунд возвращенный токен доступа действителен для (expires_in), а также для времени истечения срока действия токена доступа (expires_on). Используйте их, чтобы отслеживать, является ли токен доступа действительным или нет.

Примечание. Следует рассмотреть возможность использования клиентских библиотек, таких как MSAL , которые будут делать это автоматически. Вашему коду нужно только запросить новый токен токена, а библиотека позаботится о том, чтобы выяснить, является ли последний полученный токен действительным или нужен новый.

Другой возможный способ проверить его попробуйте использовать access_token / refresh_token в операции и перехватить исключение. Попробуйте проанализировать исключение, чтобы выяснить, что не так с токеном. Например, если срок действия токена истек, и вы используете его, вы получите сообщение об ошибке, сообщающее именно это. Это будет указанием на то, что вы можете получить новый токен доступа, используя токен refre sh. (Этот подход основывается на том, что поставщик ресурсов (т. Е. API) возвращает сообщение, в котором четко указано, что срок действия токена истек, что не всегда так.)

...