在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称:jaredhanson/passport-github开源软件地址:https://github.com/jaredhanson/passport-github开源编程语言:JavaScript 99.7%开源软件介绍:passport-githubPassport strategy for authenticating with GitHub using the OAuth 2.0 API. This module lets you authenticate using GitHub in your Node.js applications. By plugging into Passport, GitHub authentication can be easily and unobtrusively integrated into any application or framework that supports Connect-style middleware, including Express. Install$ npm install passport-github UsageCreate an ApplicationBefore using Configure StrategyThe GitHub authentication strategy authenticates users using a GitHub account
and OAuth 2.0 tokens. The client ID and secret obtained when creating an
application are supplied as options when creating the strategy. The strategy
also requires a var GitHubStrategy = require('passport-github').Strategy;
passport.use(new GitHubStrategy({
clientID: GITHUB_CLIENT_ID,
clientSecret: GITHUB_CLIENT_SECRET,
callbackURL: "http://127.0.0.1:3000/auth/github/callback"
},
function(accessToken, refreshToken, profile, cb) {
User.findOrCreate({ githubId: profile.id }, function (err, user) {
return cb(err, user);
});
}
)); Enterprise (Corporate) GitHubTo make it work with Enterprise GitHub instances you need to
pass in 3 additional parameters: var GitHubStrategy = require('passport-github').Strategy;
passport.use(new GitHubStrategy({
clientID: GITHUB_CLIENT_ID,
clientSecret: GITHUB_CLIENT_SECRET,
authorizationURL: "https://ENTERPRISE_INSTANCE_URL/login/oauth/authorize",
tokenURL: "https://ENTERPRISE_INSTANCE_URL/login/oauth/access_token",
userProfileURL: "https://ENTERPRISE_INSTANCE_URL/api/v3/user",
callbackURL: "http://127.0.0.1:3000/auth/github/callback"
},
function(accessToken, refreshToken, profile, cb) {
User.findOrCreate({ githubId: profile.id }, function (err, user) {
return cb(err, user);
});
}
)); Authenticate RequestsUse For example, as route middleware in an Express application: app.get('/auth/github',
passport.authenticate('github'));
app.get('/auth/github/callback',
passport.authenticate('github', { failureRedirect: '/login' }),
function(req, res) {
// Successful authentication, redirect home.
res.redirect('/');
}); ExamplesDevelopers using the popular Express web framework can refer to an example as a starting point for their own web applications. The example shows how to authenticate users using Facebook. However, because both Facebook and GitHub use OAuth 2.0, the code is similar. Simply replace references to Facebook with corresponding references to GitHub. ContributingTestsThe test suite is located in the $ make test CoverageThe test suite covers 100% of the code base. All new feature development is expected to maintain that level. Coverage reports can be viewed by executing: $ make test-cov
$ make view-cov LicenseCopyright (c) 2011-2016 Jared Hanson <http://jaredhanson.net/> |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论