Я создаю токен JWT, отправляя сообщение по этому URL-адресу для входа в Microsoft: https://login.microsoftonline.com/{{TENANT_ID}}/oauth2/v2.0/token Я провожу некоторые интеграционные тесты и хочу проверить аутентификацию моего API. Для этого мне нужно сгенерировать токен, который действует очень мало времени, примерно 5 минут или меньше, а значения по умолчанию длятся 1 час. В документации я не нашел информации об этом.
Я надеюсь, что смогу установить точное время истечения срока действия.
Это решение работает для вас?
да, да! извини, я был занят другими делами, но теперь я смог проверить твои ответы, и да, это именно то, что мне нужно, большое спасибо.
Минимальная продолжительность жизни токена доступа составляет 10 минут.
Для настройки accessTokenLifetimePolicy
у вас должна быть лицензия Microsoft Entra ID P1 как минимум.
Первоначально я зарегистрировал приложение Microsoft Entra ID, предоставил необходимые разрешения API и согласие администратора, как показано ниже:
Теперь сгенерирован токен доступа с использованием потока учетных данных клиента, используя приведенный ниже фрагмент кода:
GET https://login.microsoftonline.com/<tenant_id>/oauth2/v2.0/token
client_id=<app_id>
client_secret = <client_secret>
grant_type = client_credentials
scope= https://graph.microsoft.com/.default
После создания токена доступа я пытался настроить AccesstokenLifeTimePolicy
в течение 5 минут, используя приведенный ниже фрагмент кода, но получил ошибку, как показано ниже:
Authorization : Bearer token
Body : raw
POST https://graph.microsoft.com/v1.0/policies/tokenLifetimePolicies
{
"definition": [
"{\"TokenLifetimePolicy\":{\"Version\":1,\"AccessTokenLifetime\":\"00:05:00\"}}"
],
"displayName": "New token lifetime policy for application",
"isOrganizationDefault": false
}
Используя тот же токен доступа, я успешно настроил AccesstokenLifeTimePolicy
на 10 минут, используя приведенный ниже фрагмент кода:
Authorization : Bearer token
Body : raw
POST https://graph.microsoft.com/v1.0/policies/tokenLifetimePolicies
{
"definition": [
"{\"TokenLifetimePolicy\":{\"Version\":1,\"AccessTokenLifetime\":\"00:10:00\"}}"
],
"displayName": "New token lifetime policy",
"isOrganizationDefault": false
}
Теперь назначаем tokenLifetimePolicies
приложению, используя следующие параметры:
Authorization : Bearer Token
Body: raw
POST https://graph.microsoft.com/v1.0/servicePrincipals/<ServicePrincipalID/tokenLifetimePolicies/$ref
{
"@odata.id":"https://graph.microsoft.com/v1.0/policies/tokenLifetimePolicies/<policy-id>"
}
Итак, когда я сгенерировал токен доступа с областью API ресурсов назначенного приложения, он успешно выдаст токен доступа, имеющий срок службы 10 minutes
, как показано ниже:
Ссылка:
Минимальный срок действия токена
Установите срок действия токенов — платформа идентификации Microsoft | Microsoft Learn
спасибо чувак, ты лучший
@alergio Рад, что это вам помогло!
Обратитесь к этой документации и этой SO теме дайте мне знать, работает это для вас или нет