GitHub OAuth是一种授权协议,允许第三方应用程序使用GitHub的用户身份进行身份验证和授权。Passport.js是一个流行的Node.js身份验证中间件,可用于简化使用OAuth进行身份验证的过程。
使用GitHub OAuth和Passport.js来获取用户的名字和姓氏,需要执行以下步骤:
passport-github
策略:npm install passport-github
。const passport = require('passport');
const GitHubStrategy = require('passport-github').Strategy;
passport.use(new GitHubStrategy({
clientID: GITHUB_CLIENT_ID,
clientSecret: GITHUB_CLIENT_SECRET,
callbackURL: "http://example.com/auth/github/callback"
},
function(accessToken, refreshToken, profile, done) {
// 在这里处理用户授权后的逻辑
}));
app.get('/auth/github', passport.authenticate('github'));
app.get('/auth/github/callback',
passport.authenticate('github', { failureRedirect: '/login' }),
function(req, res) {
// 在这里处理授权成功后的逻辑
res.redirect('/');
});
profile
参数获取用户的个人信息。要获取名字和姓氏,可以使用profile
对象的相应属性。function(accessToken, refreshToken, profile, done) {
const firstName = profile.name.givenName;
const lastName = profile.name.familyName;
// 可在这里处理获取到的用户信息
}
以上是使用GitHub OAuth和Passport.js获取用户的名字和姓氏的基本步骤。根据实际需求,可以进一步扩展和定制身份验证和授权的逻辑。
腾讯云相关产品推荐:腾讯云云服务器(ECS)是一种可弹性扩展的计算服务,适用于各类应用场景,详情请参考腾讯云云服务器产品介绍。
领取专属 10元无门槛券
手把手带您无忧上云