Как получить имя пользователя из объекта ответа, используя блокировку Auth0?

#javascript #angularjs #reactjs #authentication #auth0

#javascript #angularjs #reactjs #аутентификация #автор0 #auth0

Вопрос:

Вопрос в том, как получить имя пользователя, которое я использовал для входа, обратно из объекта ответа?

Я создаю экземпляр Auth0Lock следующим кодом:

 this._lock = new Auth0Lock(AUTH_CONFIG.clientId, AUTH_CONFIG.domain, AUTH_CONFIG.options);
  

и затем я подписываюсь на событие «аутентифицированный»:

 this._lock.on('authenticated', authResult => {
  this._lock.getUserInfo(authResult.accessToken, function(error, profile) {

        console.log('profile', profile); // --> undefined

        if (error) {
          // Handle error
        }

  });
})
  

Я вхожу в систему, используя следующие учетные данные:

имя пользователя: john@gmail.com пароль: 123456

Я хочу иметь возможность видеть ‘имя пользователя: john@gmail.com ‘ где-то в объекте authResult. Но, к сожалению, я не вижу.

Должен ли я добавить что-то в параметры Auth0lock?

P.S. я добавил следующий код внутри обработчика события «authenticated», но он возвращает undefined для profile.

Комментарии:

1. Проверьте шаг 2 документации: auth0.com/docs/libraries/lock/v11

2. Когда я вызываю this.getUserInfo(authResult.accessToken, функция (ошибка, профиль){ console.log(‘profile’, профиль) }), я получаю ошибку: Неперехваченная ошибка типа: _this2.getUserInfo не является функцией

Ответ №1:

Я только что добавил scope: ‘OpenID’ в свойство «auth» параметров

 options: {
  ...
  auth: {
    ...
    scope: 'openid'  <---
  }
}