如何更改Passport策略的选项?

时间:2015-11-18 16:05:10

标签: passport.js github-api github-enterprise

具体来说,我使用passport-github进行身份验证,但我想使用针对GitHub Enterprise服务器验证的API,这显然位于不同的URls而不是github.com上。

通过源代码,我可以看到GitHubStrategy继承自Strategy,但这似乎是一个私有对象。

我在GitHubStrategy的函数参数中提供的唯一选项是*
 * clientID
 * clientSecret
 * callbackURL
 * scope
 * userAgent

但我想设置:
 * authorizationURL
 * tokenURL
 * userProfileURL
 * userEmailURL

但是,这些只能在Strategy(options, verify)中设置,这似乎无法访问。

1 个答案:

答案 0 :(得分:0)

您可以在创建策略时将其作为选项传递:

var GitHubStrategy = require('passport-github').Strategy;
passport.use(new GitHubStrategy({
    clientID: GITHUB_CLIENT_ID,
    clientSecret: GITHUB_CLIENT_SECRET,
    callbackURL: "http://[url]/auth/github/callback",
    authorizationURL: 'https://[hostname]/login/oauth/authorize'
  }
));