Skip to main content
permet aux utilisateurs de se connecter uniquement à l’aide d’une adresse de courriel ou d’un numéro de téléphone, ce qui réduit les obstacles liés à la mémorisation d’un mot de passe. L’authentification Passwordless peut se faire par courriel ou par SMS, soit en envoyant un code à l’utilisateur, soit en lui envoyant un lien contenant un code. Pour utiliser l’authentification Passwordless, vous devez disposer d’Auth0.Swift version 1.20.0 ou ultérieure.

Fonctionnement de Passwordless

Passwordless nécessite deux étapes :
  1. Demander le code
  2. Saisir le code
Lorsque vous utilisez des liens, le principe est le même, mais fonctionne légèrement différemment, puisque l’utilisateur n’a pas à saisir lui-même le code. Le code est inclus dans l’URL.

Étape 1 : Demander le code

Dans cet exemple, pour demander le code, appelez startPasswordless avec le 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 afficherez probablement un message à l’utilisateur pour l’informer que son code est en route, puis vous le redirigerez peut-être vers une vue où il pourra 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)
       }
   }

É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 le courriel de l’utilisateur, le code qu’il a reçu et le nom de la connexion concernée. Si l’opération réussit, 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)
       }
   }
Si vous avez utilisé le SMS, l’appel ressemblerait plutôt à 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)
       }
   }

Paramètres Passwordless

L’authentification Passwordless peut être lancée à l’aide de différents paramètres. Par exemple : .startPasswordless(email: String, type: String, connection: String) ou .startPasswordless(phoneNumber: String, type: String, connection: String)
ParamètreObligatoireDescription
emailobligatoire(String) email ou phoneNumber est requis (mais pas les deux), selon celui qui sera utilisé.
phoneNumberobligatoire(String) email ou phoneNumber est requis (mais pas les deux), selon celui qui sera utilisé.
typefacultatif(String) Type de transaction Passwordless à utiliser : .Code ou .iOSLink. La valeur par défaut est .Code.
connectionfacultatif(String) Nom de la connexion à utiliser pour l’authentification Passwordless. La valeur par défaut est sms pour la version surchargée SMS, ou email pour la version surchargée par courriel