J'ai suivi la documentation de auth0 pour implémenter l'image de profil et d'autres données de profil. L'objet profile de auth0 est vide jusqu'à ce que la page soit chargée. Voici mon code pour appeler les données de profil du composant navbar,L'objet profil de auth0 est vide jusqu'à ce que la page soit chargée
ngOnInit() {
if (this.auth.userProfile) {
this.profile = this.auth.userProfile;
return;
}
if (this.auth.authenticated) {
this.auth.getProfile((err, profile) => {
this.profile = profile;
});
}
}
Voici la méthode getProfile de auth.service,
public getProfile(cb): void {
const accessToken = localStorage.getItem('access_token');
if (!accessToken) {
throw new Error('Access token must exist to fetch profile');
}
const self = this;
this.auth0.client.userInfo(accessToken, (err, profile) => {
if (profile) {
self.userProfile = profile;
}
cb(err, profile);
});
}
Après la connexion, j'obtiens l'erreur « jeton d'accès doit exister pour chercher profil 'mais si je le recharge je ne le vois pas.
Vous définissez le accessToken dans le localStorage? et comment? –
oui, ceci est tutoriel iam suivant https://auth0.com/docs/quickstart/spa/angular2 accessToken est défini parce que le profil est récupéré, si la page est rechargée. – kaws
Avez-vous modifié l'heure d'expiration du jeton dans la méthode setSession? Je crois que leur exemple expire après une seconde. –