Как использовать простор для включения электронной почты и аватара - PullRequest
0 голосов
/ 15 мая 2018

Днем, в поисках способа получения адреса электронной почты пользователей и их аватара с помощью passport-slack.Код ниже, я считаю, просто получает основную информацию.Когда я сохраняю профиль в профиле, я получаю имя пользователя, идентификатор, команду, поставщика и отображаемое имя.Мне интересно, как я могу легко добавить также получение своей электронной почты и аватара.Не нашли ни одного полезного примера или примера, которые я могу понять.Приведенный ниже код был на самом деле из видео, которое я нашел для Google в Google, и я просто переключил его на слабину.

// 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);
        });
      }
    });
  }));

1 Ответ

0 голосов
/ 16 мая 2018

Похоже, код был в порядке, но чтобы запросить аватар и электронную почту у пользователя, мне пришлось добавить его с сайта Slack API. После входа в систему вы можете перейти к разделу «Oauth and Permissions» и прокрутить вниз до раздела «Выбор областей действия разрешений». Существует выпадающий список областей, которые вы можете добавить в список. Для меня я также должен был включить indenttity.basic, чтобы использовать аватар и электронную почту ... хорошие времена.

...