为什么Auth0验证时间太短?

Why Auth0 verification is too short?

我正在尝试将 Auth0 合并到我的 Web 应用程序用户登录中。但是,我总是得到 "Invalid verification code format.".

我注意到 Auth0Lock 提供的验证码是 RRvIpXXXXXcpbWnw 而直接 GET 返回给 www.facebook.com/dialog/oauth 的验证码要大得多。

问题是:有了Auth0,我该如何使用验证码兑换access_token.

看看 - https://auth0.com/docs/protocols

根据您拥有的客户端类型 - 具有服务器端/(可信客户端)或不受信任或 SPA 的应用程序,您可以决定使用哪个流程。

如果您选择使用授权码授权流程。请使用代码和其他信息,例如从服务器端代码到 post 到 oauth/token 端点的 clientid 和 secret 来检索 access_token 和 id_token(如果范围指定)。见下文:

POST https://tenant.auth0.com/oauth/token

内容类型:application/x-www-form-urlencoded

client_id=CLIENT_ID&redirect_uri=REDIRECT_URI&client_secret=CLIENT_SECRET&code=AUTHORIZATION_CODE&grant_type=authorization_code&scope=openid...

从响应中,您可以使用id_token调用您自己的受保护API和access_token调用auth0 API获取配置文件数据等

如果您使用隐式流,您可以在对授权端点的一次调用中获得 access_token 和 id_token (jwt)。

隐式流中永远不会验证客户端。