Oauth Auth0 0Auth社交流-无效的授权代码

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”:“无效授权码”} 从我看到的例子来看,我认为我的代码太短了。

我正在尝试使用Auth0实现服务器端社交登录,但仍停留在的步骤3中。我从前面的步骤中得到一个值为
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