Oauth Auth0 0Auth社交流-无效的授权代码
我正在尝试使用Auth0实现服务器端社交登录,但仍停留在的步骤3中。我从前面的步骤中得到一个值为Oauth Auth0 0Auth社交流-无效的授权代码,oauth,auth0,Oauth,Auth0,我正在尝试使用Auth0实现服务器端社交登录,但仍停留在的步骤3中。我从前面的步骤中得到一个值为http://mywebsite/login?code=bLvc4EmsaezBp1sN&state=UXZ8DfOZeRNGy4AKD4DsaS0n#_=_,但当我将服务器上的code值提交给Auth0端点/oauth/token时,我得到响应{“error”:“invalid\u grant”,“error\u description”:“无效授权码”} 从我看到的例子来看,我认为我的代码太短了。
http://mywebsite/login?code=bLvc4EmsaezBp1sN&state=UXZ8DfOZeRNGy4AKD4DsaS0n#_=_
,但当我将服务器上的code
值提交给Auth0端点/oauth/token
时,我得到响应{“error”:“invalid\u grant”,“error\u description”:“无效授权码”}
从我看到的例子来看,我认为我的代码太短了。我在这里做错了什么
Wreck.post(`https://company-dev.eu.auth0.com/oauth/token`, {
payload: {
client_id: client_id, // rknvAeGruVDG3To0Lc37hMuDKsUNBBBV (too short?)
code: code, // Sl9fF6grhgDoecDt
redirect_uri: redirect_uri, // http://localhost:3000/login
grant_type: grant_type, // 'authorization_code'
client_secret: client_secret, // Shh, secret
state: state // 123ABC123
}
}, (err, res, payload) => {
if (err) {
console.log(err);
reject();
}
console.log(payload.toString('utf8'));
resolve();
});
编辑:自从意识到我的方式和参数的错误已被移动到url
现在我得到了错误
Unauthorized
401通常意味着客户端id
/客户端密码
无效。请仔细检查这些值
这也可能意味着重定向\u uri
与您注册的任何uri都不匹配(后面的/
可能有问题,也可能没有问题)
发件人:
重定向uri必须与设置页面中定义的内容匹配。是有效地址,Auth0允许您同时输入多个地址
旁注:
- 您在此处执行的操作(访问令牌请求)不需要
参数state
- 请确保您的
参数是加密安全的,并且您收到的授权码响应中的状态
与您在授权码请求中发出的状态相同状态
- 问题可能是您的重定向URL。它必须与您的初始请求相同
事实上,在/authorize和/token调用中,所有值必须相等您可以在没有客户端密码的情况下发布代码和/或发送到/oauth/token的帖子正文吗?@neverendingqs更新了OP!有效载荷自动转换为
应用程序/x-www-form-urlencoded
(而不是应用程序/json
)除了您的401请求之外,还有其他响应主体吗?没有,只是Unauthorized