Skip to main content
permite a los usuarios iniciar sesión usando solo una dirección de correo electrónico o un número de teléfono, lo que reduce la fricción de tener que recordar una contraseña. La autenticación sin contraseña puede realizarse por correo electrónico o por SMS, ya sea enviando al usuario un código o enviándole un enlace que contiene un código. Para usar la autenticación sin contraseña, necesitas Auth0.Swift versión 1.20.0 o posterior.

Cómo funciona el inicio de sesión sin contraseña

El inicio de sesión sin contraseña requiere dos pasos:
  1. Solicitar el code
  2. Introducir el code
Al usar enlaces, ocurre lo mismo, pero de una forma ligeramente distinta, porque el usuario no tiene que introducir el code. El code está incluido en la URL.

Paso 1: Solicitar el code

En este ejemplo, el code se solicita llamando a startPasswordless con el correo electrónico del usuario y el tipo de conexión. El parámetro type usará Code de forma predeterminada. Si la operación se realiza correctamente, probablemente mostrarás un aviso al usuario indicando que su code está por llegar y, quizás, lo redirigirás a una vista para introducirlo.
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)
       }
   }

Paso 2: Introduzca el code

Una vez que el usuario tenga un code, podrá introducirlo. Llame al método login y pase el correo electrónico del usuario, el code que recibió y el nombre de la conexión en cuestión. Si la operación se realiza correctamente, recibirá un objeto Credentials en la respuesta.
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 usó SMS, la llamada sería similar a este ejemplo:
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)
       }
   }

Parámetros de autenticación sin contraseña

La autenticación sin contraseña puede iniciarse con distintos parámetros. Por ejemplo: .startPasswordless(email: String, type: String, connection: String) o .startPasswordless(phoneNumber: String, type: String, connection: String)
ParámetroObligatorioDescripción
emailobligatorio(String) Se requiere email o phoneNumber (no ambos), según cuál se vaya a utilizar.
phoneNumberobligatorio(String) Se requiere email o phoneNumber (no ambos), según cuál se vaya a utilizar.
typeopcional(String) El tipo de transacción sin contraseña que se va a usar: .Code o .iOSLink. El valor predeterminado es .Code.
connectionopcional(String) El nombre de la conexión que se va a usar para la autenticación sin contraseña. El valor predeterminado es sms para la sobrecarga de SMS o email para la sobrecarga de correo electrónico