需要近期拥有 Google Signin 的 MFA

Pat*_*ick 5 openid-connect google-signin

我需要确保使用Google Signin登录的用户最近已通过多因素身份验证进行了身份验证。查看OpenID 连接请求参数,可以看到一些内容,例如 Promise for this:acr_values和max_age。

测试期间max_age似乎没用。我仍然只是使用现有的 cookie 进行身份验证,而不是由 Google主动进行身份验证。使用此请求参数确实会包含id token此 json

"amr": [
    "rba"
  ],
Run Code Online (Sandbox Code Playgroud)

根据此rfc,这意味着身份验证方法参考是基于风险的身份验证。事实证明这总是会返回rba。如果注销然后重新登录,它会返回rba,而不像pwd mfa我预期的那样。

我没有看到为 定义任何值acr_values。

所以...

是否有可能:

  • 强制用户使用 Google Sign 重新进行身份验证(例如,没有基于 cookie 的身份验证)?
  • 确定用户是否使用密码或多重因素进行身份验证?
  • 确定用户何时进行身份验证?(目前 auth_time似乎已设置为当我启动登录流程时 Google 看到我的会话 cookie 的时间)
  • 请求用户通过 MFA 进行身份验证?