根据 the "tutorial" (the docs 他们什么也没说)Auth0 应该在登录时为我设置一个 JWT,但不清楚这意味着什么。我如何获得该 JWT?
我们已经有了一个登录流程,该流程使用通过 CNAME CNAME.example.com
访问的托管页面。按照这个过程:
- 我转到
example.com/login
- 我被重定向到 CNAME
CNAME.example.com/authorize?...
- 然后再次访问
CNAME.example.com/login
- 用户名和密码
POST
到CNAME.example.com/usernamepassword/login
- 这会返回一个包含 JWT 的表单并自动
POST
到CNAME.example.com/login/callback
- 然后重定向回我们的主站点
example.com/langing-page
但此处未收到 JWT。
因为它是一个 CNAME,Auth0 可以为我们的域设置一个仅 HTTP 的安全 cookie,这就足够了。
我刚刚开始这个项目,我明白如果它是从头开始构建的,我们可以直接使用 API 来获取 JWT,但我不知道如何为现有流程做这件事。
我确定我们遗漏了一些简单的东西,但文档还没有发布。我是否需要改为通过 API 登录?
已编辑:为了阐明登录流程存在并使用 auth0 上的托管页面工作,我需要在用户登录后获取 JWT。
更多信息:我们正在使用 Auth0 WordPress Plugin它正确地将我们登录为正确的用户(以及帮助我们创建新用户)但似乎没有公开 JWT。该页面确实提到了获取 JWT,但指的是已弃用的 wp-jwt-auth插件
最佳答案
所提供的链接是关于 JWT 的一般信息;要通过 Auth0 完成身份验证,有更合适的文档。特别是,您应该从快速入门 (https://auth0.com/docs/quickstarts) 开始,检查是否有任何与您正在构建的应用程序和堆栈直接相关的内容。
除此之外,您还可以查看更多与协议(protocol)流相关的文档(假设您需要 OIDC/OAuth 2.0):https://auth0.com/docs/api-auth/which-oauth-flow-to-use
以上应该指导您使用哪个流程,然后对于每个流程,您可以点击链接以更好地了解如何实现流程。
作为附加说明,/login
端点应被视为实现细节;对于 OIDC/OAuth 2.0,您需要在 /authorize
开始请求。
关于jwt - 如何从 Auth0 托管登录获取 JWT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49451704/