Kar*_*ren 6 oauth-2.0 reactjs auth0 google-signin
我想让我的用户在我的 React Web 应用程序上使用 Google 登录(使用 Auth0 保护),即使他们来自本机应用程序。我确实在 auth0 仪表板中添加了 oauth 的社交连接,并且它在桌面上运行良好。但是 Google 从 2017 年开始的安全政策禁止在 webview 中使用 Oauth 请求,因此来自本机应用程序的用户尝试使用 Google 登录时会出现以下错误403: disallowed_userAgent
重现步骤 :
这可以在 Facebook、Messenger、Twitter 原生应用程序上重现。
当用户从社交本机应用程序导航时,任何想要使用 Google 登录的安全网站都必须遇到此问题。
到目前为止我找到的解决方案是:
还有其他想法吗?也许其他服务比 Auth0 更好地处理这个问题?
我尝试过了:
window.open("chrome:https//example.com") ,但不起作用。当用户通过本机应用程序浏览时,无法让用户使用 Google SSO 登录。如果这样做,您将收到 403 disallowed_userAgent 错误。
\n但我找到了一种方法,可以在用户浏览本机应用程序时禁用 Google SSO,以便使用 Auth0 不会出现错误。\n为此,请在您的租户中的 auth0 中创建 2 个应用程序,然后重定向到您自己的 Web 应用程序中的正确应用程序。仅在两个应用程序之一上授权 Google SSO。
\n下面的代码将通过 Iphone 浏览的用户重定向到禁用 SSO 的应用程序,以便用户不会\xe2\x80\x99t 弹出错误(因为在我的情况下,此错误仅发生在 iPhone 上)。查看用户代理以使其符合您的情况。
\nif (navigator.userAgent.match(/iPhone/i)) {\n return process.env.REACT_APP_AUTH0_MOBILE_CLIENT_ID; // Google SSO is disabled\n } else {\n return process.env.REACT_APP_AUTH0_CLIENT_ID; // Google SSO is enabled\n}\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
5183 次 |
| 最近记录: |