代码之家  ›  专栏  ›  技术社区  ›  JoshG

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

  •  0
  • JoshG  · 技术社区  · 4 年前

    我正在使用我的B2C应用程序的客户机ID和客户机机密从服务器请求访问令牌 /oauth2/token 终结点。我正在使用此访问令牌向Microsoft Graph API发出请求。但是我想缩短访问令牌的生存期。默认设置为60分钟。

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

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

    但收到错误:

    New AzureADPolicy:执行NewPolicy代码时出错: (刷新/会话令牌)已于2020年5月30日失效。新政策 无法再创建。参考 https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-configurable-token-lifetimes

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

    我错过什么了吗?

    0 回复  |  直到 4 年前
        1
  •  1
  •   unknown    4 年前

    你可以用 Create tokenLifetimePolicy policy definition .

    POST https://graph.microsoft.com/v1.0/policies/tokenLifetimePolicies
    
    {
      "definition": [
        "{\"TokenLifetimePolicy\":{\"Version\":1,\"AccessTokenLifetime\":\"01:30:00\"}}"
      ],
      "displayName": "xxxxxx",
      "isOrganizationDefault": false
    }
    

    我和邮递员测试过:

    enter image description here


    issue 关于错误:

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

    https://docs.microsoft.com/en-us/azure/active-directory/conditional-access/howto-conditional-access-session-lifetime#configuring-authentication-session-controls

    微软计划退休 可配置令牌生存期 的功能 具有条件访问身份验证会话管理功能。

        2
  •  0
  •   Satya V    4 年前

    类似于错误状态: RT/ST(刷新/会话令牌)的配置令牌生存期已于2020年5月30日失效。

    您可以尝试以下方法:

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