当前位置: 首页 > 知识库问答 >
问题:

如何使用Microsoft Graph API设置应用程序的访问令牌生存期

薛彭薄
2023-03-14

我尝试在PowerShell中执行以下命令以减少访问令牌生存期:

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

但收到错误:

New-AzureADPolicy:执行NewPolicy代码时出错:Request_BadRequest消息:配置令牌生存期用于RT/ST(刷新/会话令牌)已于2020年5月30日退役。无法再创建新策略。有关详细信息,请参阅https://docs.microsoft.com/en-us/azure/active-directory/developer/active-directory-configurable-token-lifetimes

我转到错误消息中的链接,但仍然无法找到如何设置AccesStokenLifetime。我看到,对于刷新和会话令牌,您可以使用条件访问策略。但我找不到设置访问令牌生存期的任何方法。

我是不是漏掉了什么?

共有1个答案

雷硕
2023-03-14

您可以使用Create tokenLifetimePolicy API来创建它,并引用令牌生存期策略定义的属性。

POST https://graph.microsoft.com/v1.0/policies/tokenLifetimePolicies

{
  "definition": [
    "{\"TokenLifetimePolicy\":{\"Version\":1,\"AccessTokenLifetime\":\"01:30:00\"}}"
  ],
  "displayName": "xxxxxx",
  "isOrganizationDefault": false
}

我用邮递员测试过:

关于这个错误还有一个类似的问题:

可配置令牌生存期功能现在由条件访问会话管理取代,如下面链接中的警告所述:

 类似资料:
  • 我目前正在与访问令牌的生存期作斗争。我有dotnet核心Web应用程序和dotnet核心Web API。 web应用程序受OpenIDConnect授权的保护。一旦您尝试连接到web应用程序,您将被重定向到Microsoft登录表单,成功登录后,访问令牌将被提供并与刷新令牌一起存储到cookie中。 因此,访问令牌在授权头中传递给我的WebAPI请求。当access_token生存期到期时,我的W

  • 我们使用以下链接生成了一个访问令牌:https://graph.facebook.com/oauth/access_token?grant_type=client_credentials 它给了我们这样一个访问令牌:AQRtositr-Km47sometextwohp-7heCCDHmKE 但现在,当我们想在本地Facebook应用程序中进行身份验证时,它会生成以下AccessToken:ABBD

  • 当我试图在访问令牌过期之前使用刷新令牌生成访问令牌时,系统会生成一个新令牌,并且一切正常。但是如果访问令牌过期,则请求返回。 中的方法不是使用我从以前的访问令牌中存储在字典中的标识生成访问令牌吗? 如果上一个更新令牌尚未过期,如何阻止客户端使用相同的刷新令牌请求新的访问令牌? oauthProvider.cs: RefreshTokenProvider.cs: 对不起,英语不好,希望你能理解!

  • 我正在使用 jwt 令牌在我的 angular(客户端)和 Spring 引导(服务器)应用程序中对用户进行身份验证。我希望用户在令牌过期时自动注销应用程序。我使用拦截器的概念来检查令牌是否过期,并向用户显示一个弹出窗口,说“您的会话已过期”并注销应用程序,如下所示: 这工作正常,留下一个与弹出窗口相关的问题。我在向服务器发送登录请求时,也会在执行登录请求时弹出此会话过期的弹出窗口,作为拦截器拦截

  • 我正在尝试使用通过遵循客户端凭据授予流获得的“仅限应用程序”令牌查询Office 365 Discovery Service REST API,但它返回了被拒绝的访问权限。有没有办法做到这一点?

  • id_令牌是否意味着比访问令牌的寿命更长? 这里提出了id_令牌的生命周期很短的想法:OpenID Connect中的id令牌到期时间的目的是什么? 然而,这里说的是,id_令牌寿命默认设置为10小时,以优化性能。 https://auth0.com/docs/tokens/id-token 我见过Openidc客户端库在访问或id令牌无效(例如,它已过期)时不允许访问资源。https://git