Strongloop Passport.js身份validation – “无法获取访问令牌”

我试图编写一个Express / Passport应用程序,用Github Enterprise服务器进行身份validation。 这需要手动编辑护照的github策略,以指向私有企业API端点。 没有biggie那里。

我正在使用Strongloop来构build应用程序,所以我正在使用strongloop-passport-component集成。

据我可以告诉应用程序configuration正确,但在redirect,我得到以下错误信息:

Loopback 500 InternalOAuthError:在/ Users处,无法获取Strategy.OAuth2Strategy._createOAuthError(/ Users / Tom /桌面/音乐/节点/模块/ passport- /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在ClientRequest的/Users/Tom/Desktop/soundoff/node_modules/passport-github/node_modules/passport-oauth2/node_modules/oauth/lib/oauth2.js:177:18。 (/Users/Tom/Desktop/soundoff/node_modules/passport-github/node_modules/passport-oauth2/node_modules/oauth/lib/oauth2.js:148:5)在ClientRequest的emitOne(events.js:90:13)。在TLSSocket.emit(events.js:182:7)上的emitOne(events.js:90:13)处的TLSSocket.socketErrorListener(_http_client.js:262:9)处发射(events.js:182:7)

如果我看看github应用程序设置,我可以validation用户是否已成功通过应用程序进行身份validation。 它似乎无法将用户redirect到redirectURI。 aparrently它无法find访问令牌?

用户最终得到的URL是类似http://0.0.0.0:3000/auth/github/callback?code=dceef2ffe07b5dbfa194 – 但是,我期望他们最终在http://0.0.0.0:3000/auth/account

什么可能导致回环找不到访问令牌? 是不是在url?code=

不幸的是,解决scheme是不使用强循环护照组件。 开发者一直没有反应,看起来这不会被修复。

如果临时令牌(这里是dceef2ffe07b5dbfa194 )无效,它可能无法获得访问令牌。

在修改后的github-strategy中,临时标记交换为最后一个标记的OAuthstream程的第二阶段可能没有正确configuration,最有可能的情况是请求主github api而不是您的企业github api来进行标记交换