Guardian Android SDK をインストール
Guardian は Maven Central と JCenter の両方で利用できます。- Guardian を使用するには、次の行を
build.gradleの依存関係に追加します。implementation 'com.auth0.android:guardian:0.4.0'最新バージョンは、リポジトリの Releases タブ、Maven、または JCenter で確認できます。 - Gradle の依存関係を追加したら、必ずプロジェクトを Gradle ファイルと同期してください。
Guardianのプッシュ通知を有効にする
- Auth0 Dashboard > Security > Multi-factor Auth > Push via Auth0 Guardian に移動します。
- 上部のスイッチを切り替えて有効にします。

SDK を使う
Guardian は SDK の中核となるクラスです。ご利用のテナント URL に対応するこのクラスのインスタンスを作成する必要があります。登録
第2の認証要素 (デバイス上のアプリのインスタンス) と Auth0 アカウントの紐付けは、登録と呼ばれます。Guardian.enroll 関数を使用して登録を作成できますが、その前に新しい RSA キーペアを作成する必要があります。秘密キーは、ログインを許可または拒否するためのリクエストに署名する際に使用されます。公開鍵は登録プロセス中に送信され、サーバーが後でリクエストの署名を検証できるようになります。
登録解除
MFA を無効にするには、登録を削除します。ログインリクエストを承認する
登録が完了すると、ユーザーに多要素認証が必要になるたびに、FCM のプッシュ通知が届きます。 Guardian には、FCM から受信した RemoteMessage 内のMap<String, String> データを解析し、そのまま使用できる Notification インスタンスを返すメソッドが用意されています。
allow メソッドを使って認証リクエストを承認できます。また、事前に取得した登録情報も必要です。登録情報が複数ある場合は、通知と同じ id (enrollmentId プロパティ) を持つものを必ず使用してください。
ログインリクエストを拒否する
認証リクエストを拒否するには、代わりにrejectを使用します。拒否の理由を任意で追加することもでき、その理由はGuardianのログで確認できます。
モバイル専用のOTP登録を設定する
または を使用して、ワンタイムパスワード (OTP) をMFAの認証要素として有効にできます。このオプションではQRコードは不要で、ユーザーは手動で登録できます。 ユーザーを登録に招待するには、Auth0 Dashboard > User Management > Users に移動してユーザーを選択します。次に、そのユーザーの Details タブを開き、Multi-Factor Authentication セクションから登録招待を送信します。リソースを接続する
Auth0 Dashboard または Guardian SDK を使用して、リソースを接続できます。-
Auth0 のログイン画面にアクセスし、表示されたコード、または別のソースから取得した同様のBase32エンコード済みキーをコピーします。

- コードを取得したら、Guardian SDK に追加します:
public String copiedCode = "{copiedCode}";
Kotlin
val copiedCode: String = "{copiedCode}"
まず、LoginCodeGenerator クラスをプロジェクトに追加します。次に、アプリで getCode (String copiedCode) to を使用してワンタイムコードを生成します。
Java
ワンタイムコードを入力
getCode() で生成されたワンタイムパスワードを Auth0 のログイン画面に入力します。

アプリを使ってログインする
認証要素の登録が完了すると、ユーザーはアプリを使ってログインできます。まず、認証方法として Guardian アプリを選択します。
getCode(copedCode: String) を呼び出します。
次に、ワンタイムコードをログイン画面に入力して本人確認を行います。
