Axios尝试使用passport-github2获取GitHub用户电子邮件,但请求失败,状态代码为404
创始人
2024-09-28 15:30:44
0

这种错误通常是由于在passport-github2配置中未正确设置scopes选项而导致的。scopes选项确定在与GitHub API进行交互时哪些权限得到了授权。确保在scopes中包括'user:email”。以下是演示如何在Node.js应用程序中使用passport-github2来获得用户电子邮件的示例代码:

const passport = require('passport');
const GitHubStrategy = require('passport-github2').Strategy;
const axios = require('axios');
const dotenv = require('dotenv');

dotenv.config();

passport.use(new GitHubStrategy({
    clientID: process.env.GITHUB_CLIENT_ID,
    clientSecret: process.env.GITHUB_CLIENT_SECRET,
    callbackURL: '/auth/github/callback',
    scope: ['user', 'user:email']
  },
  function(accessToken, refreshToken, profile, done) {
    // Retrieve user's email(s) from GitHub API
    axios.get(`https://api.github.com/user/emails?access_token=${accessToken}`)
      .then(res => {
        const primaryEmail = res.data.find(email => email.primary === true);
        const userEmails = res.data.map(email => email.email);
        const userData = {
          accessToken,
          name: profile.displayName,
          primaryEmail: primaryEmail.email,
          userEmails
        };
        return done(null, userData);
      })
      .catch(err => {
        console.error(err);
        return done(err, null);
      });
  }
));

在上面的示例中,我们'user”范围传递给passport-github2配置,并添加了'user:email”范围,以访问GitHub API中的用户电子邮件。然后,在passport-github2策略的回调中,我们使用axios来获取用户的电子邮件数据。最后,我们将user对象返回给passport来完成用户的身份验证。

相关内容

热门资讯

反观!pokemomo辅助软件... 反观!pokemomo辅助软件,wpk俱乐部是做什么的,一贯是真的有挂(有挂分析)一、wpk俱乐部是...
必备科技!pokermaste... 必备科技!pokermaster破解版(辅助挂)切实真的是有挂(有挂方针辅助方法)1、上手简单,内置...
专业讨论!HH平台挂(辅助挂)... 专业讨论!HH平台挂(辅助挂)总是存在有挂(存在有挂辅助软件)1、下载好脚本下载之后点击打开,先需要...
教程辅助!wepoker辅助透... 教程辅助!wepoker辅助透视软件(辅助挂)果然是有挂(存在有挂辅助插件)1、免费辅助多个强度级别...
一分钟了解!wepoker免费... 一分钟了解!wepoker免费辅助器(辅助挂)果然存在有挂(竟然有挂辅助技巧)1、该软件可以轻松地帮...
总算了解!wepoker底牌透... 总算了解!wepoker底牌透视脚本(辅助挂)竟然是有挂(确实有挂辅助攻略)1、辅助软件下载优化,底...
让我来分享经验!wpk辅助哪里... 让我来分享经验!wpk辅助哪里买(辅助挂)一贯存在有挂(证实有挂辅助技巧)1、模拟器是什么优化,俱乐...
总算明白!wejoker开挂(... 总算明白!wejoker开挂(辅助挂)真是是有挂(有挂详细辅助教程)1)有没有挂:进一步探索有辅助吗...
信息共享!pokemmo手机版... 信息共享!pokemmo手机版修改器(辅助挂)竟然存在有挂(有挂教程辅助脚本)1、下载好透视辅助下载...
玩家必备科技!wepoker有... 玩家必备科技!wepoker有辅助插件吗(辅助挂)都是存在有挂(竟然有挂辅助软件)1、免费脚本咨询教...