Mih*_*hir 6 oauth single-sign-on oauth-2.0 auth0
我正在使用 Auth0 的托管屏幕。我希望以下场景起作用-
但我面对的是这个画面——
我怎样才能保存我的用户这个额外的点击?如何实现静默身份验证?我知道你要传递prompt=none到/authorizeAPI,但是因为我没有手动调用API,如何让我的锁通话/authorize用prompt=none?
您想要的是无声 SSO,它与 SSO 相关但又是独立的。
关键在prompt参数中。这是none为了当用户已经登录 Auth0 的授权服务器(“中央 SSO”)时,不会提示用户登录。
我发现的一件烦人的事情prompt是从字面上理解,因此如果用户尚未登录,则不会提示他登录(您认为在未登录时提示用户是否有意义?)。
在这种情况下,SSO 将重定向到您的应用程序/authorize,并显示“需要身份验证”之类的错误,您必须通过/login再次将用户重定向到您的端点来处理它,但要传递,prompt=true以便它知道这次他必须传递prompt=true给 Auth0 的托管登录页面。
为了让事情变得更难看,目前passport-auth0-openidconnect似乎忽略了您传递给策略的参数,除非您修补所涉及的方法之一(我为它创建了一个 PR,不要在何时批准和/或是否有意义)。
本质上:
prompt=noneprompt=true我知道这有点繁琐,但我希望这对您有所帮助:)
PS:另一件要记住的事情 - 我现在才发现它在使用 Github 作为连接时可以完美运行,但是在使用google-oauth2它时会抱怨prompt参数 :|
| 归档时间: |
|
| 查看次数: |
1868 次 |
| 最近记录: |