Generic OAuth 1.0 and 2.0 Examples

Passwordless Authentication with Auth0.Swift

This functionality has been deprecated in native. After June 2017, tenants cannot use the native scopepasswordless flow. The functionality will continue to work for tenants that currently have it enabled. If at some point the passwordless mode feature is changed or removed from service, customers who currently use it will be notified beforehand and given ample time to migrate.

Passwordless authentication allows users to login using only an email address or phone number, reducing the friction that occurs when a user must remember a password. Passwordless authentication can be done via email or via SMS, and either by sending the user a code, or sending them a link which contains a code.


How Passwordless works

Passwordless requires two steps:

  1. Request the code
  2. Input the code

When using links, the same thing happens, but in a slightly different way, because the user does not have to input a code themselves. The code is included in the URL.


Step 1: Request the code

In this example, requesting the code is done by calling startPasswordless with the user's email, and the type of connection. The type parameter will default to Code. On success, you'll probably display a notice to the user that their code is on the way, and perhaps route them to a view to input that code.


Step 2: Input the code

Once the user has a code, they can input it. Call the login method, and pass in the user's email, the code they received, and the name of the connection in question. Upon success, you will receive a Credentials object in the response.


Passwordless parameters

Passwordless authentication can be started with a variety of different parameters.

For example:


Parameter Required Description
email required (String) Either email or phoneNumber is required (not both), depending on which will be used.
phoneNumber required (String) Either email or phoneNumber is required (not both), depending on which will be used.
type optional (String) The type of Passwordless transaction to use, either .Code or .iOSLink. Defaults to .Code.
connection optional (String) The name of the connection to use for the Passwordless authentication. Defaults to sms.