Skip to main content
Guardian for Android SDK を使うと、Guardian の機能を備えた Android アプリを作成でき、プッシュ通知を使用した (MFA) への安全なアクセスを提供できます。このツールキットを使えば、organization のルックアンドフィールに合わせた独自の Guardianアプリケーションを構築できます。詳しくは、MFA のプッシュ通知を設定する をご覧ください。 Guardian for Android SDK を使用するには、Android API level 15 以降が必要です。

Guardian Android SDK をインストール

Guardian は Maven CentralJCenter の両方で利用できます。
  1. Guardian を使用するには、次の行を build.gradle の依存関係に追加します。 implementation 'com.auth0.android:guardian:0.4.0' 最新バージョンは、リポジトリの Releases タブ、Maven、または JCenter で確認できます。
  2. Gradle の依存関係を追加したら、必ずプロジェクトを Gradle ファイルと同期してください。

Guardianのプッシュ通知を有効にする

  1. Auth0 Dashboard > Security > Multi-factor Auth > Push via Auth0 Guardian に移動します。
  2. 上部のスイッチを切り替えて有効にします。
Auth0 Dashboard > Security > Multi-factor Auth > Guardian > Custom > Amazon SNS
  1. プッシュ通知を設定する

SDK を使う

Guardian は SDK の中核となるクラスです。ご利用のテナント URL に対応するこのクラスのインスタンスを作成する必要があります。
または

登録

第2の認証要素 (デバイス上のアプリのインスタンス) と Auth0 アカウントの紐付けは、登録と呼ばれます。 Guardian.enroll 関数を使用して登録を作成できますが、その前に新しい RSA キーペアを作成する必要があります。秘密キーは、ログインを許可または拒否するためのリクエストに署名する際に使用されます。公開鍵は登録プロセス中に送信され、サーバーが後でリクエストの署名を検証できるようになります。
次に、Guardian の QR code をスキャンして登録情報を取得し、その情報を使ってアカウントを登録します:
あるいは、バックグラウンドスレッドでリクエストを実行することもできます。
次のデータを指定する必要があります。

登録解除

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 Dashboard を使用する
  1. Auth0 のログイン画面にアクセスし、表示されたコード、または別のソースから取得した同様のBase32エンコード済みキーをコピーします。
    ワンタイムコードを表示するログインプロンプトの例
  2. コードを取得したら、Guardian SDK に追加します:
Java public String copiedCode = "{copiedCode}"; Kotlin val copiedCode: String = "{copiedCode}"
Guardian SDK を使用する
まず、LoginCodeGenerator クラスをプロジェクトに追加します。次に、アプリで getCode (String copiedCode) to を使用してワンタイムコードを生成します。 Java
Kotlin

ワンタイムコードを入力

getCode() で生成されたワンタイムパスワードを Auth0 のログイン画面に入力します。
ワンタイムコードが表示されたログイン画面の例
Continue を選択すると、アプリケーションがそのユーザーの認証要素として追加されたことを示すメッセージが表示されます。

アプリを使ってログインする

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

詳細