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

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

Functions

attachIdentity
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 the first step of an identity attachment call-flow.
authenticate
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.
clearProfile
Link copied to clipboard
fun clearProfile(callback: WebcomDoneCallback? = null)
Clears the profile data of the currently authenticated user stored by the Webcom authentication service.
sendOneTimePassword
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.
setProfile
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.
updateProfile
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.
verifyAndAuthenticate
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).