我正在尝试编写一个通过 Github Enterprise 服务器进行身份验证的 Express/Passport 应用程序。这需要手动编辑 Passport 的 github-strategy 以指向私有(private)企业 API 端点。没什么大不了的。
我正在使用 Strongloop 构建应用程序,因此我正在使用 strongloop-passport-component
集成。
据我所知,应用程序配置正确,但在重定向时,我收到以下错误消息:
Loopback 500 InternalOAuthError: Failed to obtain access token at Strategy.OAuth2Strategy._createOAuthError (/Users/Tom/Desktop/soundoff/node_modules/passport-github/node_modules/passport-oauth2/lib/strategy.js:370:17) at /Users/Tom/Desktop/soundoff/node_modules/passport-github/node_modules/passport-oauth2/lib/strategy.js:166:45 at /Users/Tom/Desktop/soundoff/node_modules/passport-github/lib/strategy.js:75:25 at /Users/Tom/Desktop/soundoff/node_modules/passport-github/node_modules/passport-oauth2/node_modules/oauth/lib/oauth2.js:177:18 at ClientRequest. (/Users/Tom/Desktop/soundoff/node_modules/passport-github/node_modules/passport-oauth2/node_modules/oauth/lib/oauth2.js:148:5) at emitOne (events.js:90:13) at ClientRequest.emit (events.js:182:7) at TLSSocket.socketErrorListener (_http_client.js:262:9) at emitOne (events.js:90:13) at TLSSocket.emit (events.js:182:7)
如果我查看 github 应用程序设置,我可以验证用户是否已成功通过该应用程序进行身份验证。它似乎无法将用户重定向到重定向 URI。显然它找不到访问 token ?
用户最终访问的 URL 类似于 http://0.0.0.0:3000/auth/github/callback?code=dceef2ffe07b5dbfa194
——但是,我希望他们最终访问http://0.0.0.0:3000/auth/account
。
可能导致 Loopback 找不到访问 token 的原因是什么?不是在 url ?code=
?
最佳答案
不幸的是,解决方案是不使用 strongloop-passport-component。开发人员一直没有响应,而且看起来这不会得到修复。
关于javascript - Strongloop Passport.js 身份验证 - "Failed to obtain access token",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36968523/