Как настроить срок действия токена доступа Azure AD (с использованием ADAL)?

Мы используем Azure AD для аутентификации пользователей в нашем приложении WPF с использованием их учетных записей Office 365. Это делается с помощью библиотеки аутентификации Active Directory (ADAL).

В настоящее время им предлагается входить в систему каждый раз, когда они открывают приложение. Мы хотим изменить это, чтобы разрешить вход в приложение через кешированный токен. Это работает, но мы хотим сократить срок действия токена до 24 часов или менее, требуя еще одного входа по истечении этого времени.

Я не вижу способа манипулировать истечением токена доступа в коде. Это нужно сделать в Azure AD?

1 ответ

Решение

Резюме

Вы не можете использовать ADAL для настройки срока действия токенов. ADAL - это библиотека аутентификации, которая помогает вам взаимодействовать со службой токенов, но вы можете установить конфигурацию времени жизни токена в вашем Принципале обслуживания, Приложении или Арендаторе.

Вам нужно будет использовать Powershell, чтобы создать политику, описывающую желаемое поведение, и связать ее с субъектом службы, клиентом или приложением. Помните, что если вы создаете мультитенантное приложение, владелец арендатора может перезаписать вашу политику.

tl; dr: не полагайтесь на время жизни токена в вашем приложении, так как оно может измениться в любое время.

Создайте и установите Token Lifetime Policy

Вы можете установить эти свойства с помощью команд Azure AD Powershell. Затем выполните следующие команды, чтобы установить время жизни токена доступа:

  1. Войдите в Powershell.

Connect-AzureAD -Confirm

  1. Создайте новую политику, чтобы установить время жизни токена доступа равным 2 часам. Вы можете изменить это значение от 10 минут до 1 дня.

New-AzureADPolicy -Definition @('{"TokenLifetimePolicy":{"Version":1,"AccessTokenLifetime":"02:00:00","MaxAgeSessionSingleFactor":"02:00:00"}}') -DisplayName "WebPolicyScenario" -IsOrganizationDefault $false -Type "TokenLifetimePolicy"

  1. Получите объектный идентификатор policys.

Get-AzureAdPolicy

  1. Свяжите новую политику с вашим приложением. Вы можете получить objectId вашего приложения, используя GraphExplorer.

Add-AzureADApplicationPolicy -Id <ObjectId of the Application> -RefObjectId <ObjectId of the Policy>

Дополнительные примеры и полная документация см. В разделе Время жизни настраиваемого токена Azure AD.

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