Auth0.swift : Authentification sans mot de passe

L’authentification sans mot de passe permet aux utilisateurs de se connecter uniquement avec une adresse courriel ou un numéro de téléphone pour plus de simplicité (pas de mot passe). L’authentification sans mot de passe peut se faire par courriel ou par SMS, en envoyant à l’utilisateur un code ou un lien contenant un code.

Pour utiliser l’authentification sans mot de passe, vous avez besoin de la version 1.20.0 d’Auth0.Swift ou d’une version supérieure.

Comment fonctionne le mode sans mot de passe

Le mode sans mot de passe comprend deux étapes :

  1. Demander le code

  2. Saisir le code

Il en est de même avec des liens, mais de façon légèrement différente, car l’utilisateur n’a pas besoin de saisir de code. Ce code est inclus dans l’URL.

Étape 1 : Demander le code

Dans cet exemple, la demande de code se fait en appelant startPasswordless avec l’adresse courriel de l’utilisateur et le type de connexion. Le paramètre type prendra par défaut la valeur Code. En cas de réussite, vous informerez probablement l’utilisateur que son code est en cours d’acheminement, et peut-être le diriger vers la page où il devra saisir ce code.

Auth0
   .authentication()
   .startPasswordless(email: "support@auth0.com")
   .start { result in
       switch result {
       case .success:
           print("Sent OTP to support@auth0.com!")
       case .failure(let error):
           print(error)
       }
   }

Was this helpful?

/

Étape 2 : Saisir le code

Une fois que l’utilisateur a reçu un code, il peut le saisir. Appelez la méthode login et transmettez l’adresse courriel de l’utilisateur, le code qu’il a reçu et le nom de la connexion en question. En cas de réussite, vous recevrez un objet Credentials dans la réponse.

Auth0
   .authentication()
   .login(
       email: "support@auth0.com", 
       code: "123456", 
       audience: "https://myapi.com/api",
       scope: "openid email")
   .start { result in
       switch result {
       case .success(let credentials):
           print("Access Token: \(credentials.accessToken)")
       case .failure(let error):
           print(error)
       }
   }

Was this helpful?

/

Si vous utilisez SMS, l’appel sera similaire à cet exemple :

Auth0
   .authentication()
   .login(
       phoneNumber: "+4591131761367", 
       code: "123456", 
       audience: "https://myapi.com/api",
       scope: "openid email")
   .start { result in
       switch result {
       case .success(let credentials):
           print("Access Token: \(credentials.accessToken)")
       case .failure(let error):
           print(error)
       }
   }

Was this helpful?

/

Paramètres sans mot de passe

L’authentification sans mot de passe peut être initiée avec différents paramètres.

Par exemple :

.startPasswordless(email: String, type: String, connection: String)

ou

.startPasswordless(phoneNumber: String, type: String, connection: String)

| Paramètre | Requis | Description | | --- | --- | --- | | email | requis | (Chaîne) Soit «email soit phoneNumber est requis (pas les deux), selon celui qui sera utilisé. | | phoneNumber | requis | (Chaîne) Soit email ou phoneNumber est requis (pas les deux), selon celui qui sera utilisé. | | type | facultatif | (Chaîne) Le type de transaction sans mot de passe à utiliser, soit .Code ou .iOSLink. La valeur par défaut est .Code. | | connection | facultatif | (Chaîne) Le nom de la connexion à utiliser pour l’authentification sans mot de passe. Par défaut, la valeur est sms pour la surcharge SMS ou email pour la surcharge courriel |