OpenID Connect提示参数:SHOULD vs MUST

时间:2016-07-26 06:03:52

标签: azure oauth-2.0 salesforce openid-connect okta

OpenID Connect Implicit Client specification表示隐式客户端prompt=login的可选SHOULD参数值,提示最终用户进行重新认证。

是解释SHOULD以下任何一种方法的正确方法:

    满足prompt=login要求的
  1. SHOULD实施应提示用户在适当的时候重新进行身份验证,但在某些情况下可能不会,例如提示用户在没有活动会话的地方重新进行身份验证,但在用户有活动会话时不提示。
  2. 满足prompt=login要求SHOULD
  3. MUST实施提示用户重新进行身份验证。
  4. 如果实现SHOULD要求的正确方法是上面的#2选项,要始终进行身份验证,如何处理仅在会话过期时提示用户进行身份验证的情况?这会省略prompt参数吗?

    Microsoft Azure,Okta和Salesforce的实现使用MUST进行重新身份验证。

    参考文献:

    • OpenID:授权服务器应该提示最终用户进行重新认证。如果无法重新验证最终用户,则必须返回错误,通常是login_required。
    • MS Azureprompt=login将强制用户在该请求中输入其凭据,否定单点登录。
    • Okta:可以是none或login。该值确定Okta是否不应提示进行身份验证(如果需要),或强制提示(即使用户具有现有会话)。默认值:默认行为取决于是否存在现有的Okta会话。
    • Salesforce:授权服务器必须提示用户重新进行身份验证,强制用户重新登录。

1 个答案:

答案 0 :(得分:0)

对于会话管理,您可以使用openid spec

中定义的max_age参数

在登录期间将max_age设置为所需的会话持续时间,以强制身份提供商在会话到期时要求提供凭据。