SAML授权与断言续签

时间:2019-04-02 10:10:57

标签: authentication authorization saml-2.0

我正在尝试使用SAML 2.0 Bearer Assertion Profiles for OAuth 2.0

将SAML中的授权添加为IDP实现的一部分

在此,SAML断言被交换为Oauth2访问令牌。根据规范,唯一的访问令牌应作为SAML断言的交换而返回,并且不应返回刷新令牌。规范中提到了有关访问令牌(RFC7521)续订的以下内容

  

在此上下文中使用的断言通常是短暂的      授权授予的表示形式,以及授权服务器      不应发出寿命超过声明的有效期明显时间的访问令牌。实际上,这通常意味着不会响应于断言授予请求而发出刷新令牌,并且访问令牌将以相当短的生命周期发出。客户端可以使用相同的断言(如果仍然有效)或使用新的断言来请求新的过期令牌,从而刷新过期的访问令牌。

现在,如果访问令牌已过期,则如果断言仍然有效,客户端可以获取新的访问令牌以交换断言,但是如果断言仍然有效,如何获取断言?如果我们重新启动SSO流程,则将向ACS(断言消费者服务)URL提供断言,这将导致活动用户从当前屏幕转移。如果用户在页面上有任何未保存的活动,则可能会导致问题。

如何提供断言作为对请求的响应? SAML中是否有任何规定可以通过对IDP的一次调用直接扩展断言?

1 个答案:

答案 0 :(得分:0)

您不能“扩展”现有的断言,而必须向IdP请求一个新的断言。

通过现有断言请求新令牌的工作流很少见,但从技术上讲,如果您可以在断言发出后继续使用断言,则该技术可行。这样做将需要在发出断言的IdP和oAuth客户端之间使用一个中间步骤/组件,这在许多解决方案体系结构中当然是可能的。

通过新的断言刷新过期的令牌将是更常见的实现选择。