Auth0 嵌入式登录流程
Posted
技术标签:
【中文标题】Auth0 嵌入式登录流程【英文标题】:Auth0 embedded login flow 【发布时间】:2021-09-20 08:30:25 【问题描述】:我们正在尝试在基于 next+fastify 的应用程序中实现 Auth0。登录页面是自定义的,我们希望使用来自 fastify 服务器的 embedded 登录来集成登录。 我对oAuth和Auth0很幼稚,对此我有一些疑问:
我们如何验证令牌?我们是否验证 JWT 并在服务器上维护令牌或快速化服务器,或者我们是否应该始终在 Auth0 端点上验证令牌?我尝试调用导致速率限制的userinfo 端点。所以,我解释我们是否只是在服务器上验证 JWT 而不是发送到 Auth0 服务器。此外,我们在 cookie 中发送和维护 JWT 以始终验证客户端。理解正确吗?
嵌入式登录是否足够安全以用于生产?是否存在相关风险?
方法正确吗?有没有其他方法可以实现登录流程?我们还需要集成重置密码和其他功能。我已经阅读了 SDK 文档,它似乎支持所有内容。
提前非常感谢
【问题讨论】:
【参考方案1】:-
有几个选项可以验证 auth0 颁发的令牌,他们建议您利用中间件来验证令牌。多个框架都有自己的中间件来检查和验证 JWT。就像将中间件与您的应用程序集成并在您需要时执行验证一样简单。检查这个:
https://auth0.com/docs/tokens/json-web-tokens/validate-json-web-tokens
-
在我看来,最好使用 auth0 的通用登录选项,因为嵌入式登录有时会引发跨源身份验证问题。请记住,当用户尝试使用 auth0 登录您的应用程序时,它会将用户重定向到与为您的应用程序提供服务的域不同的另一个域。根据我的经验,使用通用登录可以为您提供有关用户登录过程的更多信息,这使得调试错误和身份验证过程的过程更加容易。您可以在此处阅读有关使用 auth0 登录的更多信息:
https://auth0.com/docs/login/embedded-login
https://auth0.com/docs/login/embedded-login/cross-origin-authentication
-
是的,您可以集成重置密码过程,该过程几乎完全由 auth0 自己处理。正如我之前所说,我们对我们的应用程序使用通用登录,因为它提供了对身份验证流程的更多控制。这并不意味着您不能使用嵌入式登录,它也是一个非常好的选择,但它似乎更专注于 UX,而不是控制身份验证流程。
如果您对最佳方法仍有疑问,请查看此链接:https://auth0.com/docs/universal-login/universal-vs-embedded-login
【讨论】:
以上是关于Auth0 嵌入式登录流程的主要内容,如果未能解决你的问题,请参考以下文章