【问题标题】:ADFS 3.0 using OAuth and Persistent Refresh Tokens使用 OAuth 和持久刷新令牌的 ADFS 3.0
【发布时间】:2014-03-11 15:22:32
【问题描述】:

问题 1

我们目前正在使用 ADFS 和 OAuth(使用带有 ADFS 3.0 的 Windows Server 2012 R2)。我们的测试应用程序(WPF 和移动应用程序)可以成功进行身份验证并获得访问令牌和刷新令牌。之后我们可以继续使用访问令牌直到它过期,然后使用刷新令牌来获取新的访问令牌。 到目前为止一切顺利,但问题是当刷新令牌过期时,我们需要强制用户再次输入他们的凭据。我们的目标是让用户只输入一次他们的凭据,然后为访问令牌使用较短的生命周期,为刷新令牌使用持久的生命周期(或非常长的生命周期)。

根据使用刷新令牌时的一些博客文章,您应该获得一个新的访问令牌,有时还会获得一个新的刷新令牌,但在我们的例子中,我们永远不会获得一个新的刷新令牌,因此最终会过期。

这甚至可以使用 ADFS 3.0 和 OAuth 来获得持久的刷新令牌吗?或不时获取新的刷新令牌,以便用户不必再次输入他们的凭据?或者刷新令牌的生命周期是否可能非常长。

问题 2

您还可以在 ADFS 中设置许多我们不确定的不同属性

  • TokenLifetime - 这是访问令牌的生命周期?什么是最大值?
  • SsoTokenLifetime - 这是刷新令牌的生命周期?什么是最大值?
  • PersistentSsoLifetimeMins - 这是什么?
  • PersistentSsoEnabled - 我猜应该设置为 true 以使刷新令牌正常工作

【问题讨论】:

    标签: authentication oauth adfs windows-server-2012-r2


    【解决方案1】:

    这个post 描述了一个半官方的答案。这是设置所需值的示例 -

    Set-AdfsRelyingPartyTrust -TargetName "RPT Name" -IssueOAuthRefreshTokensTo AllDevices
    Set-AdfsRelyingPartyTrust -TargetName "RPT Name" -TokenLifetime 10
    Set-AdfsProperties -SSOLifetime 480
    

    对于指定的 RPT,这将颁发有效期为 10 分钟的访问令牌,并刷新有效期为 8 小时的所有客户端。

    【解决方案2】:

    我能挖掘到的唯一半官方指南是这张幻灯片:

    http://www.oxfordcomputergroup.com/wp-content/uploads/Access-the-future-Alex-Simons.pdf

    其中规定:

    可配置的刷新令牌支持 寿命: 工作场所加入设备 7 天(PSSO 生命周期) 非工作场所加入的设备最大。 24 小时。

    ADFS 中的持久刷新令牌支持肯定会很好,但他们似乎主要将此功能视为与其移动设备管理产品的搭配。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-06-24
      • 2017-07-01
      • 2014-12-21
      • 1970-01-01
      • 2017-11-20
      • 2020-02-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多