Meetup oauth2:API回复了invalid_client

时间:2016-08-15 13:08:29

标签: node.js oauth oauth-2.0 passport.js meetup

我的目标是使用Passport将Meetup oauth2添加到Open Collective,一个Node.js服务器。 (我之前使用GitHub oauth2成功,所以原则上它只是添加Passport strategy passport-meetup-oauth2。)

为了避免使用localhost的任何问题(在其他SO票证中观察到的问题),我使用了HTTPS ngrok隧道。在Meetup.com上我created新消费者:

  • 重定向URI:https://e03857fc.ngrok.io(也尝试使用下面提到的完整callbackURL,结果相同)
  • 网站:左空(也尝试与重定向URI相同的值,相同的结果)

在我的代码中,我将MeetupStrategy配置为:

然后我尝试了这个流程:我被正确地重定向到Meetup.com,我要求他登录并单击“允许”,然后我被重定向回我的服务器,但Passport发出{{3} }:

{ TokenError at Strategy.OAuth2Strategy.parseErrorResponse (~/passport-oauth2/lib/strategy.js:321:12) at Strategy.OAuth2Strategy._createOAuthError (~/passport-oauth2/lib/strategy.js:368:16) at ~/passport-oauth2/lib/strategy.js:167:45 at ~/oauth/lib/oauth2.js:181:18 at passBackControl (~/oauth/lib/oauth2.js:123:9) at IncomingMessage.<anonymous> (~/oauth/lib/oauth2.js:143:7) at emitNone (events.js:91:20) at IncomingMessage.emit (events.js:185:7) at endReadableNT (_stream_readable.js:934:12) at _combinedTickCallback (internal/process/next_tick.js:74:11) at process._tickCallback (internal/process/next_tick.js:98:9) name: 'TokenError', message: undefined, code: 'invalid_client', uri: undefined, status: 500 }

第二个oauth2步骤(为authorization_code交换access_token)引发了错误:Passport调用Meetup API,它使用HTTP 400 Bad Request {"error":"invalid_client"}进行回复。在500 TokenError中添加日志后,我可以重现Meetup invalid_client错误,如下所示:

curl -v -X POST https://secure.meetup.com/oauth2/access -H "'Content-Type': 'application/x-www-form-urlencoded'" --data "grant_type=authorization_code&redirect_uri=https%3A%2F%2Fe03857fc.ngrok.io%2Fconnected-accounts%2Fmeetup%2Fcallback&client_id=XXX&client_secret=YYY&code=ZZZ"

看起来问题出现在Meetup端,因为我可以用curl重现它,并且客户端ID和秘密似乎是正确的。知道导致错误的是什么吗?

0 个答案:

没有答案