Installation de Lock
Sources d’installation
npm install auth0-lock
Installez avec bower :
bower install auth0-lock
Ajoutez-le à l’aide de notre CDN (remplacez .x et .y par les numéros de version mineure et de correctif les plus récents du dépôt GitHub de Lock) :
Version mineure la plus récente :<script src="https://cdn.auth0.com/js/lock/11.x/lock.min.js"></script>Version de correctif la plus récente :
<script src="https://cdn.auth0.com/js/lock/11.x.y/lock.min.js"></script>
Il est recommandé que les applications en production utilisent une version de correctif précise, ou au minimum une version mineure précise. Quelle que soit la méthode utilisée pour inclure Lock, il est recommandé de fixer la version et de ne la mettre à jour que manuellement, afin de s’assurer que ces mises à jour n’aient pas d’effet négatif sur votre implémentation. Consultez le dépôt GitHub pour obtenir la liste à jour des versions.
Mobile
head de votre application :
<meta name="viewport" content="width=device-width, initial-scale=1"/>
Regroupement des dépendances
auth0-lock, vous devrez l’inclure avec toutes ses dépendances dans le bundle. Des exemples sont disponibles pour Browserify et webpack.
Authentification inter-origines
Utilisation
Étape 1. Initialisation de Lock
Auth0Lock et lui fournir votre Auth0 (l’ID client unique de chaque application Auth0, que vous pouvez obtenir dans l’Auth0 Dashboard) ainsi que votre domaine Auth0 (par exemple yourname.auth0.com).
Étape 2. Authentification et obtention des renseignements sur l’utilisateur
authenticated à l’aide de la méthode on. Lorsqu’il se produit, utilisez le accessToken reçu pour appeler la méthode getUserInfo et obtenir les renseignements du profil de l’utilisateur (au besoin).
Vous pouvez ensuite manipuler le contenu de la page et afficher à l’utilisateur des renseignements de profil (par exemple, son nom dans un message de bienvenue).
<h2>Welcome <span id="nick" class="nickname"></span></h2>
Notez que si vous stockez le profil utilisateur, vous devrez appliquer JSON.stringify à l’objet de profil, puis, lorsque vous l’utiliserez plus tard, JSON.parse, car il devra être stocké dans localStorage sous forme de chaîne de caractères plutôt que comme objet JSON.
Étape 3. Afficher Lock
lock.show(); au chargement de celle-ci.
Cela affichera le widget Lock et, combiné à ce qui précède, vous êtes maintenant prêt à gérer les connexions!
Passwordless
Auth0LockPasswordless plutôt qu’avec Auth0Lock :
Options de Passwordless
allowedConnections en lui attribuant la valeur email ou sms :
email, vous avez une option supplémentaire à sélectionner : déterminer si vos utilisateurs recevront un code à saisir ou un “lien magique” à utiliser. Cela se configure à l’aide de l’option passwordlessMethod, qui accepte les valeurs code ou link.
Exemple de Passwordless
Authentification unique avec authentification intégrée
- Les deux applications qui tentent d’utiliser le SSO doivent être des applications de première partie. Le SSO avec des applications tierces ne fonctionnera pas.
- Elles doivent utiliser des domaines personnalisés et faire en sorte que les applications qui doivent utiliser le SSO ainsi que le locataire Auth0 se trouvent sur le même domaine. Traditionnellement, les domaines Auth0 sont au format
foo.auth0.com, mais les domaines personnalisés vous permettent d’utiliser le même domaine pour chacune des applications concernées ainsi que pour votre locataire Auth0, évitant ainsi le risque d’attaques CSRF.
Codes d’erreur et descriptions
/co/authenticate, qui renvoie les erreurs suivantes.
La description de l’erreur est lisible par un humain. Elle ne doit pas être analysée par du code et peut être modifiée à tout moment.
| Statut | Code | Description |
|---|---|---|
| 400 | invalid_request | Corps de requête non valide. Les champs requis sont uniquement client_id, credential_type, username, otp et realm. |
| 401 | unauthorized_client | Connexion interorigine non autorisée. |
| 400 | unsupported_credential_type | Paramètre de type d’identifiant inconnu. |
| 400 | invalid_request | Realm « non-existent-connection » inconnu. |
| 403 | access_denied | Courriel ou mot de passe incorrect. |
| 403 | access_denied | Erreur d’authentification |
| 403 | blocked_user | Utilisateur bloqué |
| 401 | password_leaked | Cette tentative de connexion a été bloquée parce que le mot de passe que vous utilisez a déjà été divulgué dans une fuite de données (mais pas dans cette application). |
| 429 | too_many_attempts | Votre compte a été bloqué après plusieurs tentatives de connexion consécutives. Nous vous avons envoyé une notification par votre méthode de contact préférée avec des instructions pour le débloquer. |
| 429 | too_many_attempts | Nous avons détecté un comportement de connexion suspect et toute nouvelle tentative sera bloquée. Veuillez communiquer avec l’administrateur. |