- SDK mobiles Auth0 et SDK Auth0 pour application monopage : La façon la plus simple d’implémenter le flux; ils se chargent de la majeure partie du travail pour vous. Nos guides de démarrage rapide pour appareils mobiles et guides de démarrage rapide pour applications monopages vous guideront tout au long du processus.
- Authentication API : Si vous préférez créer votre propre solution, poursuivez votre lecture pour apprendre à appeler directement notre API.
/userinfo d’Auth0 ou vos propres API protégées. Pour en savoir plus sur les ID tokens, consultez ID Tokens. Pour en savoir plus sur les jetons d’accès, consultez Access Tokens.
Prérequis
- Sélectionnez un Type d’application de Native ou Application monopage, selon le type de votre application.
- Ajoutez
YOUR_CALLBACK_URLcomme URL de rappel autorisée. Le format de votre URL de rappel varie selon le type et la plateforme de votre application. Pour plus de détails sur le format correspondant à votre type d’application et à votre plateforme, consultez nos guides de démarrage rapide Native/Mobile et guides de démarrage rapide Application monopage. - Assurez-vous que les Types d’octroi de votre application incluent Code d’autorisation. Pour en savoir plus, consultez Mettre à jour les types d’octroi.
Créer le vérificateur de code
code_verifier, c’est-à-dire une clé aléatoire cryptographiquement sécurisée, encodée en Base64, qui sera ensuite envoyée à Auth0 pour demander des jetons.
Pour en savoir plus sur l’algorithme utilisé pour créer le code_verifier, consultez la section 4.1 Client Creates a Code Verifier de la spécification Proof Key for Code Exchange.
Exemple en JavaScript
Exemple en Java
Exemple pour Android
Exemple en Swift 5
Exemple en Objective-C
Créer le code challenge
code_challenge à partir du code_verifier, qui sera envoyé à Auth0 pour demander un authorization_code.
Pour en savoir plus sur la façon dont le code_challenge est généré à partir du code_verifier, consultez la section 4.2 Le client crée le code challenge de la spécification OAuth Proof Key for Code Exchange.
Exemple en JavaScript
Exemple en Java
Exemple en Swift 5
Exemple en Objective-C
authorization_code.
Une fois le code_verifier et le code_challenge créés, vous devez obtenir l’autorisation de l’utilisateur. Techniquement, c’est le début du , et cette étape peut comprendre un ou plusieurs des processus suivants :
- Authentifier l’utilisateur;
- Rediriger l’utilisateur vers un pour prendre en charge l’authentification;
- Vérifier s’il existe des sessions d’authentification unique (SSO) actives;
- Obtenir le consentement de l’utilisateur pour le niveau d’autorisation demandé, sauf s’il a déjà été accordé.
code_challenge généré à l’étape précédente ainsi que la méthode utilisée pour le générer.
Paramètres
Par exemple, votre extrait HTML pour votre URL d’autorisation lors de l’ajout de la connexion à votre application pourrait ressembler à ceci :
Réponse
HTTP 302. Le code d’autorisation est inclus à la fin de l’URL :
Obtenir des jetons
authorization_code et votre code_verifier contre des jetons.
Maintenant que vous avez un code d’autorisation, vous devez l’échanger contre des jetons. À l’aide du code d’autorisation extrait (code) à l’étape précédente, vous devrez envoyer une requête POST à l’URL du jeton avec le code_verifier.
Exemple de requête POST vers l’URL du jeton
Paramètres
Réponse
access_token, refresh_token, id_token et token_type :
refresh_token ne sera présent dans la réponse que si vous avez inclus le scope offline_access et activé Allow Offline Access pour votre API dans l’Auth0 Dashboard.
Cas d’utilisation
Requête d’authentification de base
Demander le nom et la photo de profil de l’utilisateur
name et picture demandées. Lorsque vous décoderez le jeton d’identité, il ressemblera à ceci :
Demander à l’utilisateur de se connecter avec GitHub
connection et définir sa valeur sur le nom de la connexion (dans ce cas, github) au moment d’autoriser l’utilisateur :
Désormais, lorsque vous demanderez des jetons, votre jeton d’identité contiendra une revendication sub avec l’identifiant unique de l’utilisateur renvoyé par GitHub. Lorsque vous décoderez le jeton d’identité, il ressemblera à ceci :