OneTimePasswordMethod

class OneTimePasswordMethod : AuthenticationMethod.Internal

Manages users of a given identity provider that authenticates users based on their identifier and a generated one-time password sent to them.

Instances of this AuthenticationMethod must be created using the AuthenticationService.getOneTimePasswordMethod method.

This authentication method provides with two call-flows:

  • Authentication call-flow:

  1. Call sendOneTimePassword to send a generated one-time password to the user,

  2. Call authenticate to authenticate the user.

  • Attach a new identity (or authentication means) to a user account:

  1. Call attachIdentity to associate the currently authenticated user with a new email address or phone number (depending on the chosen provider),

  2. Call verifyAndAuthenticate to verify the newly created identity.

Types

Link copied to clipboard
class MessageDetails @JvmOverloads constructor(    val template: String? = null,     val locale: Locale? = null,     val sender: String? = null) : AuthenticationMethod.Internal.MessageDetails

Functions

Link copied to clipboard
fun attachIdentity(    context: AuthenticationService.Context,     displayName: String? = null,     profile: Any? = null,     messageDetails: OneTimePasswordMethod.MessageDetails? = null,     callback: WebcomDoneCallback)

Either creates a new Webcom account and attach an identity to it (if context is Context.New) or attaches a new identity to the Webcom account of the currently authenticated user (if context is Context.Current), as new identity to the Webcom account of the currently authenticated user (if context is Context.Current), as the first step of an identity attachment call-flow.

Link copied to clipboard
fun authenticate(    oneTimePassword: String,     context: AuthenticationService.Context = Context.New,     callback: WebcomResultCallback<AuthenticationDetails>? = null)

Authenticates the user with the oneTimePassword s·he has just received, as the final step of an authentication call-flow. This operation is asynchronous and calls the given callback with the authentication result once performed.

Link copied to clipboard
fun clearProfile(callback: WebcomDoneCallback? = null)

Clears the profile data of the currently authenticated user stored by the Webcom authentication service. This operation is asynchronous and calls the given callback once performed.

Link copied to clipboard
fun sendOneTimePassword(messageDetails: OneTimePasswordMethod.MessageDetails? = null, callback: WebcomDoneCallback)

Generates and sends a one-time password to the user, as the first step of an authentication call-flow. This operation is asynchronous and calls the given callback once performed.

Link copied to clipboard
fun setProfile(value: Any?, callback: WebcomDoneCallback? = null)

Sets the value of the profile data of the currently authenticated user stored by the Webcom authentication service. This operation is asynchronous and calls the given callback once performed.

Link copied to clipboard
fun updateProfile(    path: String,     value: Any?,     callback: WebcomDoneCallback? = null)

Updates the value of the profile data of the currently authenticated user stored by the Webcom authentication service at a given path. This operation is asynchronous and calls the given callback once performed.

Link copied to clipboard
fun verifyAndAuthenticate(oneTimePassword: String, callback: WebcomResultCallback<AuthenticationDetails>? = null)

Verify a previously attached identity with the oneTimePassword the user has just received, as the final step of an identity attachment call-flow, and, if successful authenticates the user with this identity (or authentication means).