Ajouter une connexion à votre application React Native

Ce guide rapide est destiné au framework React Native. Pour intégrer Auth0 dans votre application Expo, référez-vous au Guide rapide Expo.

1

Configuration d’Auth0

Pour utiliser les services Auth0, vous devez avoir une application installée dans Auth0 Dashboard. L’application Auth0 est l’endroit où vous allez configurer l’authentification pour votre projet.

Configurer une application

Utilisez le sélecteur interactif pour créer une nouvelle application Auth0 ou sélectionner une application existante qui représente le projet avec lequel vous souhaitez effectuer l’intégration. Dans Auth0, il est attribué à chaque application un identifiant client unique alphanumérique que votre code d’application utilisera pour appeler les API Auth0 via la trousse SDK.

Tous les paramètres que vous configurez à l’aide de ce démarrage rapide seront automatiquement mis à jour pour votre application dans le Dashboard, qui est l’endroit où vous pourrez gérer vos Applications à l’avenir.

Pour explorer une configuration complète, examinez l’application faisant office d’exemple dans votre Dashboard.

Configurer des URL de rappel et de déconnexion

Auth0 fait appel aux Callback URL et aux URL de déconnexion pour rediriger les utilisateurs vers votre application. Auth0 fait appel à une URL de rappel après avoir authentifié l’utilisateur et à une URL de déconnexion après avoir supprimé le témoin de session. Si vous ne définissez pas les Callback URL et les URL de déconnexion, les utilisateurs ne pourront pas se connecter et se déconnecter de l’application, et votre application produira une erreur.

Ajoutez l’URL correspondante aux URL de rappel et aux URL de déconnexion, en fonction de la plateforme de votre application. Si vous utilisez un domaine personnalisé, utilisez la valeur de votre domaine personnalisé au lieu du domaine de votre locataire Auth0.

iOS

BUNDLE_IDENTIFIER.auth0://{yourDomain}/ios/BUNDLE_IDENTIFIER/callback

Was this helpful?

/

Android

PACKAGE_NAME.auth0://{yourDomain}/android/PACKAGE_NAME/callback

Was this helpful?

/

2

Installer les dépendances

Dans cette section, vous installerez le module React Native Auth0.

Yarn

yarn add react-native-auth0

Was this helpful?

/

npm

npm install react-native-auth0 --save

Was this helpful?

/

Étape iOS supplémentaire : installez le module Pod.

Notre trousse SDK nécessite au minimum une cible de déploiement iOS 13.0. Dans le `ios/Podfile`` de votre profil, vérifiez que la cible de votre plateforme est 13.0.

platform :ios '13.0'

Was this helpful?

/

CocoaPods est l’outil de gestion de package iOS que le framework React Native utilise pour s’installer dans votre projet. Pour que le module natif iOS fonctionne avec votre application iOS, installez d’abord la bibliothèque Pod. Si vous êtes familier avec les anciennes versions de la trousse SDK React Native, cela est similaire à la précédente liaison d’un module natif. Le processus est désormais simplifié :

Placez-vous dans le dossier ios et exécutez pod install.

cd ios
pod install

Was this helpful?

/

3

Intégrer Auth0 dans votre application

Au préalable, vous devez fournir un moyen pour vos utilisateurs de se connecter. Nous recommandons d’utiliser la page de connexionhébergée par Auth0.

Un exemple d’écran de connexion universelle pour une application iOS.

Configurer Android

Ouvrez le fichier build.gradle dans le répertoire de votre application (généralement dans android/app/build.gradle) et ajoutez les placeholders du manifeste suivants. La valeur de auth0Domain doit contenir les paramètres de l’application Auth0 tels qu’ils sont configurés ci-dessus.

android {
defaultConfig {

    // Add the next line

    manifestPlaceholders = [auth0Domain: "{yourDomain}", auth0Scheme: "${applicationId}.auth0"]

}

...

}

Was this helpful?

/

Configurer iOS

Dans le fichier ios/<YOUR PROJECT>/AppDelegate.mm, ajoutez ce qui suit :

#import <React/RCTLinkingManager.h>


(BOOL)application:(UIApplication *)app openURL:(NSURL *)url
      options:(NSDictionary&lt;UIApplicationOpenURLOptionsKey, id&gt; *)options



{
return [RCTLinkingManager application:app openURL:url options:options];
}

Was this helpful?

/

Ensuite, ajoutez un URLScheme à l’aide de l’identifiant de l’ensemble de votre application.

Dans le dossier ios, ouvrez le fichier Info.plist et localisez la valeur de CFBundleIdentifier.

<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>

Was this helpful?

/

Sous cette valeur, enregistrez une entrée de type URL en utilisant la valeur de CFBundleIdentifier comme valeur pour CFBundleURLSchemes.

<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleTypeRole</key>
<string>None</string>
<key>CFBundleURLName</key>
<string>auth0</string>
<key>CFBundleURLSchemes</key>
<array>
<string>$(PRODUCT_BUNDLE_IDENTIFIER).auth0</string>
</array>
</dict>
</array>

Was this helpful?

/

Dans une étape ultérieure, vous utiliserez cette valeur pour définir les URL de rappel ci-dessous. Vous pouvez la modifier en utilisant XCode avec les étapes suivantes :

  • Ouvrez le fichier ios/<YOUR PROJECT>.xcodeproj ou exécutez xed ios dans un terminal depuis la racine de l’application.

  • Ouvrez l’onglet des paramètres de construction de votre projet ou de la cible souhaitée et recherchez la section contenant « Bundle Identifier » (Identifiant de l’ensemble).

  • Remplacez la valeur « Identifiant de l’ensemble » par le nom de l’identifiant de l’ensemble de votre application souhaitée.

Pour des informations supplémentaires, veuillez consulter la documentation de React Native.

4

Configurer le composant Auth0Provider

L’appel useAuth0 s’appuie sur un contexte React pour fournir une gestion d’état. Ce contexte est fourni par le composant Auth0Provider.

Importer l’appel useAuth0 et le composant Auth0Provider du package react-native-auth0 :

import {useAuth0, Auth0Provider} from 'react-native-auth0';

Was this helpful?

/

Pour que la trousse SDK fonctionne correctement, vous devez envelopper votre application dans le composant Auth0Provider et définir les propriétés suivantes :

  • domain : Le domaine de votre locataire Auth0. En général, vous le trouvez dans Auth0 Dashboard sous vos paramètres d’application dans le champ Domain (Domaine). Si vous utilisez un domaine personnalisé, définissez-le plutôt sur la valeur de votre domaine personnalisé.

  • clientId : L’identificateur de l’application Auth0 que vous avez configurée précédemment dans ce guide rapide. Celui-ci figure dans Auth0 Dashboard, sous l’onglet des paramètres de votre application du champ ID client.

checkpoint.header

Vous venez de configurer le composant Auth0Provider. Exécutez votre application pour vérifier que :

  • la trousse SDK s’initialise correctement,

  • votre application ne génère aucune erreur liée à Auth0.

5

Ajouter une fonctionnalité de connexion à votre application

Authentifiez l’utilisateur en appelant la méthode authorize fournie par le crochet useAuth0. Cette méthode redirige l’utilisateur vers la page Universal Login (Connexion universelle) Auth0 pour authentification, puis vers votre application.

Pour confirmer que l’utilisateur a bien ouvert une session, vérifiez que la propriété user fournie par le hook n’est pas null.

checkpoint.header

Ajoutez un bouton qui appelle authorize lorsqu’on clique dessus. Vérifiez que vous êtes redirigé vers la page de connexion, puis renvoyé vers votre application.

6

Ajouter une fonctionnalité de déconnexion à votre application

Pour déconnecter l’utilisateur, redirigez-le vers le point de terminaison de déconnexion Auth0 en appelant clearSession. Cette action supprimera la session de l’utilisateur du serveur d’autorisations et le déconnectera de l’application.

checkpoint.header

Ajoutez un bouton qui appelle clearSession et observez si vous êtes redirigé vers le point de terminaison de déconnexion Auth0, puis renvoyé de nouveau. Vous ne devriez plus être connecté à votre application.

7

Afficher les informations du profil utilisateur

L’appel useAuth0 expose un objet user qui contient des informations sur l’utilisateur authentifié. Vous pouvez utiliser cette option pour accéder aux informations décodées du profil utilisateur concernant l’utilisateur authentifié à partir du jeton d’ID.

Si un utilisateur n’a pas été authentifié, cette propriété sera null.

checkpoint.header

Connectez-vous et inspectez la propriété user sur le résultat. Vérifiez les informations de profil utilisateur actuel, telles que son email ou name.

Next Steps

Excellent work! If you made it this far, you should now have login, logout, and user profile information running in your application.

This concludes our quickstart tutorial, but there is so much more to explore. To learn more about what you can do with Auth0, check out:

Did it work?

Any suggestion or typo?

Edit on GitHub
Sign Up

Sign up for an or to your existing account to integrate directly with your own tenant.