根据Google的要求,我们正在尝试完成从Google之前的OpenID身份验证流程到新OpenID Connect实施的迁移。在我们尝试使用max_age
参数(在openid-connect-core spec中定义)之前,所有内容都相对简单,该参数用于替换OpenID pape扩展参数:max_auth_age
。
提供max_age
参数并不会立即中断身份验证请求,但只有在用户成功通过Google重新验证身份后才能解析;之后Google会返回500错误:
- 这是一个错误。
醇>发生错误。请稍后再试。这就是我们所知道的。
放弃参数可以避免500错误,但不能解决问题,因为我们需要在进入我们网站的某些区域之前重新进行身份验证。
身份验证请求网址似乎已正确构建且有效。同样,没有max_age参数,它工作正常。 Example request with max_age=0
答案 0 :(得分:1)
Google不尊重max_age
参数,可能会被视为不属于该参数。然而,他们有合理的理由(参见:http://lists.openid.net/pipermail/openid-specs-ab/Week-of-Mon-20150323/005445.html)归结为这样一个事实,即他们不希望RP完全控制重新认证,其中一个尺寸适合所有& #34;功能和一些其他安全注意事项。
我希望谷歌的某些人能够在这里回复他们的计划,但是现在你无能为力。
答案 1 :(得分:1)
截至本周,Google接受max_age
参数,并在auth_time
通过时在ID令牌中返回max_age
声明。
但是,无论max_time
参数的值如何,都不会提示用户根据会话时间重新进行身份验证,因为这不是Google支持的模式。相反,只有在认为有必要时(例如,用户从新位置访问其帐户),才要求用户重新进行身份验证。
如果您需要在自己的网站上重新验证用户,建议您通过其他方式这样做。