Получение id_token с использованием Auth0 в приложении Expo - PullRequest
0 голосов
/ 10 декабря 2018

Я внедряю аутентификацию Auth0 в новом приложении Expo / React Native, следуя этому примеру: https://github.com/expo/auth0-example

Единственное, что я изменил, это scope: 'openid profile', который в этом примере - scope: 'openid name', хотя ятакже попробовал это с кодом в примере.

Как вы можете видеть на следующем снимке экрана, я получаю access_token вместо id_token: enter image description here

Вот код для аутентификации с Auth0:

_loginWithAuth0 = async () => {
    const redirectUrl = AuthSession.getRedirectUrl();
    console.log(`Redirect URL (add this to Auth0): ${redirectUrl}`);
    const result = await AuthSession.startAsync({
      authUrl: `${auth0Domain}/authorize` + toQueryString({
        client_id: auth0ClientId,
        response_type: 'token',
        scope: 'openid profile',
        redirect_uri: redirectUrl,
      }),
    });
    console.log(result);
    if (result.type === 'success') {
      this.handleParams(result.params);
    }
  }

Я попытался изменить response_type на token id_token, но выдает ошибку, сообщающую об ошибке конфигурации.

Как мнеполучите id_token?

1 Ответ

0 голосов
/ 11 декабря 2018

Возвращаемый токен определяется response_type, а не scope.В случае идентификатора токена область действия определяет, что возвращается в токене.Вам нужно response_type: 'id_token'.

Подробнее о том, как это работает, вы можете прочитать здесь: https://auth0.com/docs/tokens/id-token#control-the-contents-of-an-id-token

Полное раскрытие, я работаю на Auth0.

...