[英]Increase access token lifetime in Azure AD
我有一个多租户 azure 应用程序,该应用程序由客户端使用授权代码流授权。 我从流中获得的访问令牌的平均 TTL 为 1 小时,而刷新令牌有 90 天。 我代表用户使用此访问令牌来获取他们的一些资源。 我可以增加访问令牌的生命周期吗? 我正在玩Configure token lifetime policies (preview) 。 但是,我不确定这应该由我(azure app 租户)还是由客户(在他们的租户中)完成。
我尝试在我的环境中重现相同的内容并得到如下结果:
我创建了一个 Azure AD 多租户应用程序:
我在父租户( Azure AD 应用程序所在的位置)中创建了一个Azure AD 策略 2 小时,并成功生成了 2 小时生命周期的令牌:
GET https://login.microsoftonline.com/organizations/oauth2/v2.0/token
client_id:ClientID
client_secret:ClientSecret
scope:https://graph.microsoft.com/user.read
grant_type:authorization_code
redirect_uri:RedirectUri
code:code
但是当我尝试来自不同租户的另一个用户时,令牌没有延长的生命周期(2 小时)。
另一个租户用户首次登录Azure多租户应用程序后,该应用程序将添加到另一个租户的Azure企业应用程序中,如下所示:
现在,我尝试为另一个租户添加Azure AD 令牌生命周期策略,如下所示:
Connect-AzureAD
$policy = New-AzureADPolicy -Definition @('{"TokenLifetimePolicy":{"Version":1,"AccessTokenLifetime":"02:00:00"}}') -DisplayName "WebPolicyScenario" -IsOrganizationDefault $false -Type "TokenLifetimePolicy"
$sp = Get-AzureADServicePrincipal -Filter "DisplayName eq 'rukmt'"
Add-AzureADServicePrincipalPolicy -Id $sp.ObjectId -RefObjectId $policy.Id>'"
对于 Azure 租户,Azure 令牌生命周期策略已通过使用相同的应用程序应用。
我尝试使用第二个租户用户生成令牌:
令牌成功生成,令牌生命周期为 2 小时,如下所示:
如果问题仍然存在,请检查该策略是否被具有更高优先级的策略覆盖。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.