Node.js 如何使用slack scope来包括电子邮件和化身

Node.js 如何使用slack scope来包括电子邮件和化身,node.js,passport.js,slack-api,Node.js,Passport.js,Slack Api,下午,寻找一种方法来检索用户的电子邮件地址和他们的头像与护照松弛。下面的代码我相信只是得到了基本信息。当我在console.log中记录配置文件时,我会得到用户名、id、团队、提供者和显示名称。我想知道我怎样才能很容易地加入他们的电子邮件和头像。没有发现任何有用的例子或我似乎能掌握的例子。下面的代码实际上来自我在Google上为oauth找到的一个视频,我刚刚将它切换到slack // Configure the Slack Strategy passport.use( new SlackS

下午,寻找一种方法来检索用户的电子邮件地址和他们的头像与护照松弛。下面的代码我相信只是得到了基本信息。当我在console.log中记录配置文件时,我会得到用户名、id、团队、提供者和显示名称。我想知道我怎样才能很容易地加入他们的电子邮件和头像。没有发现任何有用的例子或我似乎能掌握的例子。下面的代码实际上来自我在Google上为oauth找到的一个视频,我刚刚将它切换到slack

// Configure the Slack Strategy
passport.use(
  new SlackStrategy({
    callbackURL: "/auth/slack/redirect",
    clientID: keys.slack.clientID,
    clientSecret: keys.slack.clientSecret,
    scope: ['identity.basic', 'identity.email', 'identity.avatar']
}, (accessToken, refreshToken, profile, done) => {
    console.log(profile);
    // Check if user already exist in DB
    User.findOne({username: profile.displayName}).then((currentUser) => {
      if(currentUser){
        // already have the user
        // console.log('User is', currentUser);
        done(null, currentUser);
      } else {
        // If not, create new user in DB
        new User({
          username: profile.displayName,
          slackid: profile.id
        }).save().then((newUser) => {
          // console.log("new user created: " + newUser);
          done(null, newUser);
        });
      }
    });
  }));

看起来代码不错,但为了向用户请求化身和电子邮件,我不得不从SlackAPI网站添加代码。登录后,转到Oauth和Permissions,并向下滚动到SelectPermissionscopes部分。有一个下拉列表,可以将作用域添加到列表中。对我来说,我还必须包括indentity.basic,以便使用头像和电子邮件范围……好时光