Укажите срок действия при запросе токена доступа при входе в Microsoft oauth2 v2.0

Я создаю токен JWT, отправляя сообщение по этому URL-адресу для входа в Microsoft: https://login.microsoftonline.com/{{TENANT_ID}}/oauth2/v2.0/token Я провожу некоторые интеграционные тесты и хочу проверить аутентификацию моего API. Для этого мне нужно сгенерировать токен, который действует очень мало времени, примерно 5 минут или меньше, а значения по умолчанию длятся 1 час. В документации я не нашел информации об этом.

Я надеюсь, что смогу установить точное время истечения срока действия.

Обратитесь к этой документации и этой SO теме дайте мне знать, работает это для вас или нет

Pratik Jadhav 27.07.2024 07:35

Это решение работает для вас?

Pratik Jadhav 31.07.2024 09:07

да, да! извини, я был занят другими делами, но теперь я смог проверить твои ответы, и да, это именно то, что мне нужно, большое спасибо.

alergio 31.07.2024 21:19
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
Как установить LAMP Stack 1/2 на Azure Linux VM
Как установить LAMP Stack 1/2 на Azure Linux VM
В дополнение к нашему предыдущему сообщению о намерении Azure прекратить поддержку Azure Database для MySQL в качестве единого сервера после 16...
0
3
70
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 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 Graph. - Вопросы и ответы Microsoft от Фабио Андраде

Установите срок действия токенов — платформа идентификации Microsoft | Microsoft Learn

спасибо чувак, ты лучший

alergio 31.07.2024 21:16

@alergio Рад, что это вам помогло!

Pratik Jadhav 31.07.2024 21:18

Другие вопросы по теме

Кто-нибудь знает, почему моя переменная (x) изменила свое значение с 3 на 0 (1 после x++) в этой программе? Я пытаюсь создать систему регистрации, но она перезаписывает
Можете ли вы создать «Потоки пользователей» в Azure с помощью учетной записи с оплатой по мере использования?
Я пытаюсь создать систему входа в систему на языке C, которая скрывает пароль с помощью '*' при вводе и возвращается назад, когда пользователь вводит неверную информацию
Oauth2-proxy `/oauth2/auth` возвращает 401 для действительных токенов JWT
Реализация криптохэша – Node.js 22 – Angular 18
При попытке аутентификации Firebase мне сообщается, что сначала мне нужно пройти аутентификацию Firebase. Хм?
Измените конфигурацию для регистрации приложения, чем для корпоративного приложения
Аутентификация Windows не работает через туннель разработки
Я хочу выполнять вызов API токена обновления каждые 60 минут
Как настроить Angular 18 Zone.js, принимая обещание Supabase?