ADFS 3.0使用OAuth和持久刷新令牌

时间:2014-03-11 15:22:33

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

问题1

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

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

使用ADFS 3.0和OAuth是否可以使用持久刷新令牌?或者不时获得新的刷新令牌,以便用户不必再次输入他们的凭证?或刷新令牌的使用寿命是否可能很长。

问题2

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

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

2 个答案:

答案 0 :(得分:3)

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

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

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

答案 1 :(得分:-1)

我能够挖掘的唯一半官方指导就是这个幻灯片:

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

指出:

  

可配置的刷新令牌支持   一生:   工作场所加入设备7天(PSSO终身)   非工作场所加入设备最多24小时。

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