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 :
Demander le code
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 |