Не могу получить информацию о пользователе после привязки аккаунта от Auth0 - PullRequest
1 голос
/ 05 февраля 2020

Я слежу за этим сайтом , чтобы создать привязку аккаунта. Я могу получить токен доступа по

const getEmail = async (headers) => {
  const accessToken = headers.authorization.substr(7);
  const {email} = await auth0.getProfile(accessToken);
  console.log('email',email);
  return email;
}

Но когда я хочу получить электронную почту пользователя, я обнаружил, что в моей консоли журнал "неопределен" ".

Моя цель - получить уникальный идентификатор пользователя и адрес электронной почты. Как я могу это сделать?

Обновление 1: я пытаюсь использовать другой метод, подобный приведенному ниже

var ManagementClient = require('auth0').ManagementClient;
var management = new ManagementClient({
    domain: 'domain.auth0.com',
    clientId: 'clientId',
    clientSecret: 'clientSecret',
    scope: 'read:users update:users'
});
...
management.getUsers(function(err, users) {
      if (err) {
        // handle error.
      }
      console.log('users1: ',users);
});

Я могу получить сообщение Cosole Log (пользователи), отображаемое в формате JSON. Но оно содержит всех пользователей, которые когда-либо входили в систему. (Как показано ниже, есть две записи.)

  [ { created_at: '',
    email: '',
    email_verified: true,
    family_name: '',
    given_name: '',
    identities: [ [Object] ],
    locale: 'zh-TW',
    name: '',
    nickname: '',
    picture: 'https://lh5.googleusercontent.com/-M2k7RI6lLA8/AAAAAAAAAAI/AAAAAAAAAAA/ACHi3rcLWKHlBjbH9QBZxOvNEm1jxzuQiQ/photo.jpg',
    updated_at: '',
    user_id: 'google-oauth2|XXXXXXXXXXXXXXX',
    last_login: ',
    last_ip: '',
    logins_count: 15 },
  { created_at: '',
    email: '',
    email_verified: false,
    identities: [ [Object] ],
    name: '',
    nickname: '',
    picture: 'https://s.gravatar.com/avatar/a054eb742d33851c51da5944764d7fca?s=480&r=pg&d=https%3A%2F%2Fcdn.auth0.com%2Favatars%2Fwe.png',
    updated_at: '',
    user_id: 'auth0|zzzzzzzzzzzzzzzzzzzzzzz',
    last_login: '2',
    last_ip: '',
    logins_count: 1 } ]

Какой API я могу использовать, чтобы получить пользователя, который сейчас входит в систему?

Обновление 2: записи входа Я обнаружил, что могу успешно получать электронную почту пользователя, если приложение Google Smart Home выскочит на этой странице, чтобы я мог войти аккаунт и секрет. Как показано ниже: страница входа

Запись успеха: Запись успеха

Но если приложение не может открыть страницу входа для меня, чтобы войти в аккаунт и секрет, я не смогу получить электронную почту пользователя. Сбой записи: Сбой записи

Вопрос в том, что можно настроить, чтобы вход в систему проходил нормально, чтобы я мог успешно получать информацию о пользователе?

...