メインコンテンツへスキップ
Auth0 Guardianは、iOSおよびAndroidデバイス用のモバイルアプリケーションで、ユーザーはプッシュ通知または一時的なワンタイムパスワードを使用して多要素認証(MFA)を完了できます。 Auth Guardianは、ユーザーの登録済みデバイス(通常は携帯電話またはタブレット)にプッシュ通知を配信したり、アプリ内で直接ワンタイムパスワードを生成したりできます。ユーザーは、これらのプッシュ通知にすばやく応答したり、ワンタイムパスワードを取得してログインを完了したりできます。 ユーザーは、Apple App StoreまたはGoogle Play StoreからAuth0 Guardianアプリをダウンロードできます。または、Guardian SDKを使用して、Auth0 Guardian機能を独自のカスタムアプリに埋め込むこともできます。

プッシュ通知

プッシュ通知を使用するには、ユーザーのデバイスにAuth0 GuardianアプリまたはGuardian SDKで構築されたカスタムアプリがインストールされている必要があります。ユーザーが認証を試みると、インストールされたアプリにプッシュ通知が送信されます。ユーザーは、ログイン情報を知っていることと、用に設定されたデバイスを所有していることを証明して、ログインを完了するために通知に応答する必要があります。 Auth0プッシュ通知は、AWS Simple Notification Service (SNS)または次のベンダー直結サービスのうち1つ以上を使用して実装し、ベンダー固有の統合を構成できます。
  • Firebase Cloud Messaging(FCM)
  • Apple Push Notification(APN)
Auth0 Guardian flow diagram

プッシュ通知に登録する

Auth0 Guardianを使用してプッシュ通知を構成すると、ユーザーは最初にサインアップまたはアプリケーションにログインするときに、モバイルアプリをダウンロードするように求められます。Guardian SDKを使用してカスタムアプリにプッシュ通知を実装する場合、ユーザーは登録中にアプリケーションをダウンロードするように求められません。 [Security(セキュリティ)]>[Multi-factor Auth(多要素認証)]>[Push Notification using Auth0 Guardian(Auth0 Guardianを使ったプッシュ通知)]から、プッシュ通知を有効にすることができます。
Auth0 Dashboard > Security > Multi-factor Auth > Push Notification using Auth0 Guardian
ユーザーが初めてアプリケーションにサインアップまたはログインすると、Auth0 GuardianアプリまたはカスタムのGuardian SDKアプリを第二認証要素として登録できるQRコードをユニバーサルログインが提供します。ユーザーは、指定されたアプリでこのコードをスキャンして登録を完了するまでの時間が短くなります。 ユーザーが登録すると、プッシュ通知を認証要素として使用できます。ユーザーがアプリケーションにログインしようとするたびに、Auth0 GuardianまたはカスタムGuardian SDKアプリを介してデバイスにプッシュ通知が届きます。ユーザーは、アプリケーションに正常にログインするために、この要求を承認する必要があります。 デバイスや回復コードを失くしてしまったユーザーのためにMFAをリセットする方法については、「多要素認証と回復コードをリセットする」を参照してください。さらにサポートが必要な場合は、「多要素認証のトラブルシューティング」を参照してください。

一時的なワンタイムパスワード

Auth0 GuardianアプリとGuardian SDKは、二次認証要素として一時的なワンタイムパスワード(OTP)の使用もサポートしています。アプリとSDKはどちらも、ユーザーがユニバーサルログインMFAチャレンジを完了するために使用できる一時的なOTPを生成できます。 デフォルトでは、Auth0 Guardianアプリには、ユーザーが登録したアプリケーションが一覧表示されます。アプリケーションを選択すると、そのアプリケーションに対応するOTPが表示されます。6桁の各OTPは30秒間有効です。有効期限が近づいているOTPは赤で表示されます。有効期限が切れると、アプリはすぐに新しいOTPを生成します。認証の失敗を回避するために、ユーザーは赤のOTPを使用しないでください。 カスタムGuardian SDKアプリでは、OTPの外観が異なる場合があります。

一時的なワンタイムパスワードを使用する

OTPは、主に次の2つの方法で活用できます。
  • Auth0 Guardianアプリまたはその他のカスタムアプリがプッシュ要求を受信しなかった場合に、プッシュ通知のフォールバックオプションとして。
  • テナントで要素にワンタイムパスワードを有効化した場合のMFAチャレンジとして。
accordion.expand_all/accordion.collapse_all
Auth0 Guardianや他のカスタムアプリを介してプッシュ通知を受信しないユーザーは、代わりに一時的なOTPを使用してMFAチャレンジを完了できます。ユーザーフロー例
  1. ユーザーがアプリケーションへのログインを試行する。ユニバーサルログインMFAプロンプトが表示されるが、プッシュ通知を受信しない。
  2. MFAプロンプトで、ユーザーが**[Manuallay Enter Code(手動でコードを入力する)]** ボタンを選択する。OTPを使用して認証するには、このオプションを選択する必要がある。
    [Manuallay Enter Code(手動でコードを入力する)]ボタンを表示するMFAプロンプトの例
  3. ユーザーがAuth0 GuardianまたはカスタムGuardian SDKアプリを開き、アクセスしようとしているアプリケーションを選択する。
  4. ユーザーが、[Account Detail(アカウント詳細)]ページの下部に表示されるOTPをコピーする。
  5. ユーザーがMFAプロンプトにOTPを入力してチャレンジを完了する。
ユーザーがOTPで認証できるようにするには、ワンタイムパスワード をテナントのMFA要素として有効化する必要があります。有効化すると、ユーザーがユニバーサルログインを通してログインするときに、OTPを使ってMFAプロンプトを完了することができます。MFA要素を有効化するには、[Auth0 Dashboard]>[Security(セキュリティ)]>[Multi-factor Auth(多要素認証)]に移動します。ユーザーはアプリケーションに初めてサインアップやログインするときに、MFA要素としてOTPを登録することができます。使用するデバイスの種類に応じて、ユニバーサルログインが以下のいずれかを表示します。
  • 携帯電話以外のデバイス :ユニバーサルログインはQRコードを表示し、ユーザーがスキャンして登録を続けられるようにします。
Trouble Scanning?(スキャンできませんか?)リンクを表示するOTP登録プロンプトの例
  • 携帯電話 :ユニバーサルログインはQRコードではなく、登録コードを直接表示します。
The temporary one-time password enrollment screen as displayed on a mobile device.
どちらの方法でも、ユーザーは画面に表示された手順に従って、Auth0 GuardianアプリまたはカスタムのGuardian SDKアプリを認証の第2要素として登録できます。一般的に、このプロセスではユーザーがアプリケーションを適切なアプリに追加して、そのアプリケーション用のOTPを取得します。そして、ユーザーはOTPをユニバーサルログインのプロンプトに入力し、登録プロセスを完了させます。登録を完了してから次回にユーザーがアプリケーションにログインするときには、チャレンジでAuth0 GuardianアプリまたはカスタムのGuardian SDKアプリからのOTPを入力して認証できます。

Auth0 Guardianアプリの設定

ユーザーセキュリティ設定

Auth0 Guardianアプリでは、ユーザーはiOSおよびAndroidでパスコードと生体認証をアプリセキュリティのレイヤーとして有効にできます。ユーザーがこれらのオプションの1つ以上を有効にすると、プッシュ通知に応答したりワンタイムパスワードを取得したりする前に、これらのチャレンジを完了する必要があります。 iOSまたはAndroidデバイスでこれらのオプションを有効にするには、ユーザーは次の手順に従います。
  • iOS
  • Android
iOSでAuth0 Guardianアプリのセキュリティ設定を有効にする方法:
  1. アプリで、ギアアイコン を選択すると、設定メニューが開きます。
  2. [Passcode(パスコード)] を選択し、パスコード保護を有効にします。
  3. 6桁のパスコードを設定し、確認します。
これで、アプリはパスコードによって守られます。このパスコードを入力しないと、ユーザーはプッシュ通知への応答またはOTPの取得を行うことができません。パスコード保護を有効にしたあと、ユーザーはセキュリティ対策の代わりにデバイスの生体認証を構成することができます。デバイスの生体認証を有効にする方法:
  1. アプリで、ギアアイコン を選択すると、設定メニューが開きます。
  2. Face IDTouch ID といった利用可能なオプションの一つを選択し、デバイスの生体認証を有効にします。

ローカリゼーションオプション

Auth0 Guardianアプリは、iOSおよびAndroidで複数の言語と方言のローカリゼーションをサポートしています。 設定メニューの言語セクションで、ユーザーは希望する言語を選択できます。デフォルトでは、アプリはデバイスシステムと同じ言語を使用します。
プッシュ通知のコンテンツのほとんどは、ユーザーが選択した言語で表示されます。ただし、プッシュ通知のタイトルは翻訳されません。これはタイトルの入力後に言語設定が取得されるためです。
Auth0 Guardianアプリは、次の言語と方言をサポートしています。
言語コード
アルバニア語sq
アムハラ語am
アルメニア語hy
アゼルバイジャン語az
バスク語eu-ES
ベンガル語bn
ボスニア語bs
ブルガリア語bg
カタルニア語ca-ES
中国語 - 香港特別行政区zh-HK
中国語 - 簡体zh-CN
中国語 - 繁体zh-TW
クロアチア語hr
チェコ語cs
デンマーク語da
オランダ語nl
英語en
英語 - カナダen-CA
エストニア語et
フィンランド語fi
フランス語fr-FR
フランス語 - カナダfr-CA
ガリシア語gl-ES
ジョージア語ka
ドイツ語de
ギリシャ語el
グジャラート語gu
ヒンディー語hi
ハンガリー語hu
アイスランド語is
インドネシア語id
イタリア語it
日本語ja
カンナダ語kn
韓国語ko
ラトビア語lv
リトアニア語lt
マケドニア語mk
マレー語ms
マラヤーラム語ml
マラーティー語mr
モンゴル語mn
モンテネグロ語cnr
ミャンマー語my
ノルウェー語no
ノルウェー語 - ブークモールnb
ノルウェー語 - ニーノシュクnn
ポーランド語pl
ポルトガル語 - ブラジルpt-BR
ポルトガル語 - ポルトガルpt-PT
パンジャブ語pa
ルーマニア語ro
ロシア語ru
セルビア語sr
スロバキア語sk
スロベニア語sl
ソマリ語so
スペイン語es
スペイン語 - アルゼンチンes-AR
スペイン語 - ラテン アメリカes-419
スペイン語 - メキシコes-MX
スワヒリ語sw
スウェーデン語sv
タガログ語tl
タマジット語zgh
タミール語ta
テルグ語te
タイ語th
トルコ語tr
ウクライナ語uk
ベトナム語vi
ウェールズ語cy

Guardianアプリのテーマ

iOSとAndroidの両方のAuth0 Guardianアプリは、ライトモードとダークモードのテーマをサポートしています。 設定メニューのテーマセクションで、ユーザーは次のオプションを選択できます。
  • System(システム) :デフォルトのシステムテーマを使用します
  • Light(ライト) :ライトモードのテーマを有効にします
  • Dark(ダーク) :ダークモードのテーマを有効にします

保護されたアプリケーションのカスタマイズオプション

ユーザーがAuth0 Guardianアプリで保護されたアプリケーションを区別しやすくするために、各アプリケーションを個別の名前、アクセントカラー、アイコンでカスタマイズできます。
Auth0 Guardianアプリでアプリケーションに割り当てられるデフォルトの名前は、使用しているテナント名またはテナント設定で指定されているフレンドリー名によって決まります。同様に、デフォルトのロゴには、テナント設定で指定されているロゴのURLが使用されます。テナント設定を変更するには、[Auth0 Dashboard]>[Settings(設定)]>[General(一般)]に移動します。
保護されたアプリケーションをカスタマイズするには:
  1. リストからアプリケーションを選択します。
    • ヒント :アプリケーションを左にスワイプして、編集と削除のオプションを表示することもできます。
  2. アカウントの詳細ページで [Edit(編集)] を選択します。
  3. 必要に応じて、アプリケーションの名前、色、アイコンを更新します。
  4. [Save(保存)] を選択します。

Guardian SDK

Guardian SDKiOSAndroidの両方で利用可能)を使用すると、ブランディングだけでなく、外観や操作性を完全に制御した独自の多要素認証アプリケーションが構築できます。Guardian SDKを使用すると、Guardianのように動作する独自のカスタムモバイルアプリケーションを構築したり、既存のモバイルアプリケーションでプッシュ通知を受信するなどのGuardian機能を統合したりできます。典型的なシナリオは、銀行アプリです。既存のモバイルアプリでGuardian SDKを使用して、誰かがATM取引を実行したときにプッシュ通知を受信して​​確認できます。

アクションを使用してAuth0 Guardianで多要素認証を有効にする

アクション内でAuth0 Guardianを有効化するには、多要素認証を有効にする際にproviderパラメーターとしてguardianを渡します。
exports.onExecutePostLogin = async (event, api) => {
  api.multifactor.enable('guardian', { allowRememberBrowser: false });
};
ユーザーが毎回Auth0 Guardianを使ってログインすることを強制するには、allowRememberBrowser: falseを使ってアクションを作成します。

Auth0 GuardianとAuthorization Extensionによる多要素認証

このテンプレートは例として条件が満たされた場合にプッシュ通知用にAuth0 Guardianで多要素認証をトリガーする始点を提供します。 初めてログインした後、ユーザーはデバイスを登録することができます。Mの詳細については、「多要素認証を有効にする」を参照してください。
exports.onExecutePostLogin = async (event, api) => {
const groups = event.user.app_metadata.authorization.groups;
const GROUPS_WITH_MFA = {
// Add groups that need MFA here
// Example
admins: true
};

const needsMFA = !!groups.find(function (group) {
return GROUPS_WITH_MFA[group];
});

if (needsMFA) {
// optional, defaults to true. Set to false to force Guardian authentication every time.
// See https://auth0.com/docs/secure/multi-factor-authentication/customize-mfa#change-frequency-of-mfa-prompts for details
api.multifactor.enable('guardian', { allowRememberBrowser: false });
}

};

もっと詳しく

I