Ajouter une fonctionnalité de connexion à votre application Expo
Ce guide rapide est destiné au cadre Expo. Pour intégrer Auth0 dans votre application React Native, reportez-vous au Guide rapide React Native.
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.
Si vous préférez explorer une configuration complète, consultez plutôt un exemple d’application.
Configuration des URL de rappel et des URL 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
Android
PACKAGE_NAME.auth0://{yourDomain}/android/PACKAGE_NAME/callback
Dans cette section, vous apprendrez comment installer le module React Native Auth0.
Yarn
yarn add react-native-auth0
npm
npm install react-native-auth0 --save
Le package Auth0 exécute du code natif personnalisé qui doit être configuré au moment de la génération. Utilisez le plugiciel Expo Config pour y parvenir.
Le plugiciel react-native-auth0
sera ajouté dans Expo config.
Vous devez générer le code natif pour que la configuration ci-dessus soit définie. Pour ce faire, exécutez la commande suivante :
expo prebuild
Vous serez invité à fournir le package Android et l’identificateur du bundle iOS si ils ne sont pas déjà présents dans la configuration d’Expo.
? What would you like your Android package name to be? > com.auth0samples # or your desired package name
? What would you like your iOS bundle identifier to be? > com.auth0samples # or your desired bundle identifier
Was this helpful?
Ces valeurs sont utilisées pour définir les Callback URL et les URL de déconnexion.
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 intégrer 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é, indiquez dans ce champ votre domaine personnalisé.clientId
: L’identificateur du client de l’application Auth0 que vous avez configurée précédemment dans ce guide rapide. Vous pouvez le trouver dans Auth0 Dashboard sous vos paramètres d’application dans le champ Client ID (Identificateur client).
checkpoint.header
Votre composant Auth0Provider
devrait maintenant être correctement configuré. Exécutez votre application pour vérifier que :
la trousse SDK est correctement initialisée,
votre application ne génère aucune erreur liée à Auth0.
Authentifiez l’utilisateur en appelant la méthode authorize
fournie par le hook useAuth0
. Cette action redirige l’utilisateur vers la page Universal Login (Connexion universelle) Auth0 pour authentification, puis vers votre application.
Pour confirmer que l’utilisateur s’est connecté avec succès, 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.
Pour déconnecter l’utilisateur, redirigez-le vers le point de terminaison Auth0 en appelant clearSession
. Cela supprimera leur session du serveur d’autorisations et déconnectera l’utilisateur 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.
Le hook useAuth0
expose un objet user
qui contient des informations sur l’utilisateur authentifié. Vous pouvez utiliser cette option pour accéder aux informations du profil utilisateur sur l’utilisateur authentifié qui a été décodé à partir de 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
par rapport au 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:
- Auth0 Dashboard - Learn how to configure and manage your Auth0 tenant and applications
- react-native-auth0 SDK - Explore the SDK used in this tutorial more fully
- Auth0 Marketplace - Discover integrations you can enable to extend Auth0’s functionality
Sign up for an or to your existing account to integrate directly with your own tenant.