Skip to main content
2017年6月8日以降、新規テナントでは、ネイティブアプリケーションから行うパスワードレス認証がデフォルトで無効になります。代わりに、ユニバーサルログインを使用してWeb認証を行うことが推奨されています。引き続き利用したい場合は、まずダッシュボードで[MFA Grant Type(MFA付与タイプ)]を有効にする必要があります。詳細については、「アプリケーションの付与タイプ」を参照してください。
パスワードレス認証は、メールまたはSMSを介して、ユーザーにコードを送信するか、コードを含むリンクを送信することで行えます。パスワードレス認証のすべての方法で、確認のためのコードの要求とコードの入力という、2つのステップが必要になります。

Android SDKをセットアップする

最初にAndroid SDKをセットアップして、以下のパスワードレスメソッドを使えるようにします。

Auth0とAndroid SDKを構成する

Passwordless APIを使用するには、Auth0 Android SDKのバージョン1.20以降を使って設定する必要があります。
ネイティブクライアントのパスワードレスAPIを使用するには、 [Dashboard]>[Applications(アプリケーション)]>(自身のアプリケーション)>[Settings(設定)]>[Advanced Settings(詳細設定)]>[Grant Types(付与タイプ)] に移動して、アプリケーションのパスワードレスOTP付与を有効にします。

コードを要求する

この例では、ユーザーのメールアドレス、PasswordlessType.CODE、接続名をパラメーターとしてpasswordlessWithEmailを呼び出すことで、コードを要求します。成功したら、ユーザーにコードが届くことを知らせると共に、そのコードを入力する場所にユーザーを誘導すると良いでしょう。
authentication
    .passwordlessWithEmail("username@domain.com", PasswordlessType.CODE, "my-passwordless-connection")
    .start(object: Callback<Void?, AuthenticationException>() {
        override fun onSuccess(result: Void?) {
            // Code sent!
        }

        override fun onFailure(error: AuthenticationException) {
            // Error!
        }
    })
passwordlessWithSmsメソッドを使用して、SMSを使ったコード送信を行えます。

コードを入力する

ユーザーはコードを受け取ると、入力することができます。loginWithEmailメソッドを呼び出し、ユーザーのメール、受信したコード、および当該の接続名と共に渡します。成功すると、応答でCredentialsオブジェクトを受信します。
authentication
    .loginWithEmail("username@domain.com", "123456", "my-passwordless-connection")
    .start(object: Callback<Credentials, AuthenticationException>() {
        override fun onSuccess(result: Credentials) {
            // Logged in!
        }

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