Я использую Angular 2 и Auth0 для аутентификации в своем веб-приложении. Я могу получить профиль пользователя, используя следующий код:Включить user_metadata и app_metadata в JWT, используя Auth0
auth0 = new auth0.WebAuth({
domain: 'MY-DOMAIN',
clientID: 'MY-CLIENT-ID',
callbackURL: 'MY-CALLBACK',
responseType: 'token id_token'
});
Логин:
public login(username: string, password: string): void {
this.auth0.client.login({
realm: 'Username-Password-Authentication',
username,
password
}, (err: any, authResult: any) => {
if (err) {
alert('Error: ' + err.description);
return;
}
if (authResult && authResult.idToken && authResult.accessToken) {
this.setUser(authResult); <--- Here is where I get the profile
this.router.navigate(['/home']);
}
});
}
Сохранение token
на localStorage
и получить профиль:
private setUser(authResult: any): void {
localStorage.setItem('access_token', authResult.accessToken);
localStorage.setItem('id_token', authResult.idToken);
this.auth0.client.userInfo(authResult.accessToken, (error: any, profile: any) => {
if (!error) {
localStorage.setItem('profile', JSON.stringify(profile));
this.userProfile = profile;
}
});
}
Так что это работает, но объект профиля, который я получаю, не включает user_metadata или app_metadata, настроенные на веб-сайте Auth0. Как я могу включить его?