Skip to main content
2017 年 6 月 8 日以降、新しいテナントではネイティブアプリケーションからのパスワードレス認証はデフォルトで無効になっています。Universal Login を使用し、代わりに Web Authentication を実行することを推奨します。それでも続行する場合は、まずDashboardで MFA Grant Type を有効にする必要があります。詳細については、Application Grant Types を参照してください。
は、メールアドレスまたは SMS を介して行われ、ユーザーに code を送信する方法と、code を含むリンクを送信する方法があります。パスワードレス認証では、どの方法でも code をリクエストし、その後、検証のために code を入力するという 2 つの手順が必要です。

Android SDK をセットアップする

まず、以下のパスワードレスのメソッドを使用できるように、Android SDK をセットアップしてください。

Auth0 と Android SDK を設定する

パスワードレス API を使用するには、Auth0 Android SDK バージョン 1.20 以降が必要です。
ネイティブクライアントからパスワードレス API を使用するには、Dashboard > Applications > (YOUR APPLICATION) > Settings > Advanced Settings > Grant Types で、アプリケーションのパスワードレス OTP グラントを有効にします。

code をリクエストする

この例では、ユーザーのメールアドレス、PasswordlessType.CODE、および接続名をパラメーターとして passwordlessWithEmail を呼び出し、code をリクエストします。成功したら、code を送信中であることをユーザーに通知し、必要に応じてその code を入力する画面に誘導するとよいでしょう。
authentication
    .passwordlessWithEmail("username@domain.com", PasswordlessType.CODE, "my-passwordless-connection")
    .start(object: Callback<Void?, AuthenticationException>() {
        override fun onSuccess(result: Void?) {
            // コードを送信しました!
        }

        override fun onFailure(error: AuthenticationException) {
            // エラー!
        }
    })
passwordlessWithSms メソッドを使用すると、SMS で code を送信できます。

code を入力する

ユーザーが code を受け取ったら、それを入力できます。loginWithEmail メソッドを呼び出し、ユーザーのメールアドレス、受け取った code、対象の接続の名前を渡します。成功すると、レスポンスとして Credentials オブジェクトが返されます。
authentication
    .loginWithEmail("username@domain.com", "123456", "my-passwordless-connection")
    .start(object: Callback<Credentials, AuthenticationException>() {
        override fun onSuccess(result: Credentials) {
            // ログインしました!
        }

        override fun onFailure(error: AuthenticationException) {
            // エラー!
        }
    })
loginWithSms メソッドを使用して、SMSで受信した code を送信し、ユーザーを認証できます。 デフォルトで使用されるスコープは openid profile email です。