image
image
image
image
image
image

Auth0 get id token

Comment obtenir IdToken lors de l’authentification dans next.js

simon201

Bonjour à tous.

J’essaie de m’intégrer à Auth0 dans next.js mais j’ai rencontré un problème.

Après m’être connecté à Auth0 avec succès, je souhaite que IdToken soit envoyé à notre backend.

Si quelqu’un a une idée ou de l’expérience dans ce domaine, attendez-vous à votre aide.

Merci,

tyf3

Salut @simon20 bienvenue dans la communauté !

simon20 :

Après m’être connecté à Auth0 avec succès, je veux que IdToken l’envoie à notre backend.

Quelle que soit la pile technologique, vous ne souhaitez jamais utiliser un jeton d’identification contre un backend - vous devrez utiliser un jeton d’accès à la place. L’article de blog suivant fait un excellent travail pour clarifier la différence :

Auth0 - Jeton d’ID de blog

et jeton d’accès : quelle est la différence ?

Découvrez ce que sont les jetons d’ID et d’accès et comment les utiliser correctement dans le contexte OpenID Connect et OAuth.

En termes de next.js, les exemples suivants devraient vous aider :

github.com

auth0/nextjs-auth0/blob/main/EXAMPLES.md#protect-an-api-route

Ce fichier a été tronqué. show original

simon204

tyf :

vous ne voulez jamais utiliser un jeton d’identification contre un backend - vous devrez utiliser un jeton d’accès à la place. L’article de blog suivant clarifie la différence :

mais d’après la documentation d’Auth0, l’accessToken ne contient pas d’informations utilisateur.

Patricio8795

Merci de partager cette information...

thameera6

Notez que si vous utilisez le SDK Auth0 Next.js, vous n’avez pas besoin d’obtenir spécifiquement l’ID ou le jeton d’accès pour appeler le backend. Si vous utilisez l’App Router, les informations de l’utilisateur peuvent être obtenues dans une route API avec ce code sans avoir un accès direct à un jeton :

Cependant, si le backend n’est pas votre application Next.js (par exemple : une API hébergée en externe), vous pouvez obtenir le jeton d’accès comme décrit ici : https://github.com/auth0/nextjs-auth0/blob/main/EXAMPLES.md#access-an-external-api-from-an-api-route

2 J’aime

simon207

Salut @thameera, merci pour votre aide.
Lorsque je souhaite intégrer mon propre backend (et non Next.js), quel jeton est nécessaire, accessToken ou idToken ?
alors, y a-t-il un moyen d’obtenir idToken côté client ?
Merci encore.

thameera8

aucun problème. Vous aurez besoin d’un jeton d’accès pour appeler une API externe.

En règle générale, vous n’avez pas besoin d’accéder au jeton d’ID seul, car il n’est utilisé que pour l’authentification initiale. Lorsque vous obtenez les données de l’utilisateur à partir de , les informations que vous obtenez sont en fait celles qui étaient présentes dans le jeton d’ID.

2 J’aime

simon209

Merci encore pour votre aide.
J’ai réussi à obtenir accessToken et je l’ai utilisé pour l’autorisation dans mon backend Rust.
Mais il est obtenu côté client (à l’aide de la requête React).
Existe-t-il un moyen de l’obtenir dans getServersideProps et de le passer en paramètre au composant ?
Pour être honnête, j’ai essayé mais ce n’est possible qu’après la connexion, donc une erreur se produit avant de se connecter.

thameera10

Vous devriez être en mesure d’obtenir le jeton d’accès à partir de getServersideProps comme indiqué ici : Appelez API externe depuis getServerSideProps et obtenir le jeton d’accès ? · Numéro #928 · auth0/nextjs-auth0 ·
GitHub L’extrait de code pertinent est le suivant :

Le jeton ne sera pas disponible avant la connexion, de sorte que ce scénario devra être géré dans getServersideProps.

1 Like

simon2011

Bonjour, @thameera

je suis vraiment content de vos soins.

Cela a fonctionné après la connexion. Mais une fois que j’ai cliqué sur le bouton de déconnexion, la session devient invaild.

thameera12

Pas de problème, @simon20.

Ce que vous voyez est attendu, n’est-ce pas ? La session disparaîtra une fois que l’utilisateur se déconnectera et le code ne devrait pas être en mesure d’obtenir le jeton d’accès par la suite. Idéalement, vous devriez le faire avec un try/catch et gérer le scénario lorsque l’utilisateur tente d’accéder à la page alors qu’il n’est pas connecté dans.

2 Aime

simon2013

thameera :

vous voyez est attendu, non ? La session disparaîtra une fois que l’utilisateur se connectera et le code ne devrait pas être en mesure d’obtenir le jeton d’accès par la suite. Vous devriez idéalement le faire avec un try/catch et gérer le scénario lorsque l’utilisateur tente d’accéder à la page alors qu’il n’est pas connecté,

merci pour votre aide.
Je l’ai résolu.
Ensuite, je me bats contre un autre problème...
J’ai besoin d’implémenter des fonctionnalités.
J’ai un bouton sur mon frontend.
et une fois que j’ai cliqué dessus, je dois rediriger la page auth0-change password.
Si vous avez une idée, je vais vraiment apprécier.
merci.

système Fermé 14

Ce sujet a été automatiquement fermé 14 jours après la dernière réponse. Les nouvelles réponses sont n’est plus autorisé.