繁体   English   中英

增加 Azure AD 中的访问令牌生命周期

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM