要件
- Guardianを使用するには、iOS 10以降とSwift 4.1が必要です。
- このSDKを使用するには、テナントのGuardianサービスに独自のプッシュ通知用資格情報を設定する必要があります。設定しないと、プッシュ通知を受信できません。詳しくは、MFAのプッシュ通知を設定するをご覧ください。
Guardian iOS SDK のインストール
CocoaPods
Guardian.swift は CocoaPods から利用できます。インストールするには、Podfile に次の行を追加してください。Carthage
Cartfile に次の行を追加します。Guardianのプッシュ通知を有効にする
- Auth0 Dashboard > セキュリティ > Multi-factor Auth に移動します。
- Push Notification をオンにします。
- プッシュ通知を設定する。
使用状況
Guardian は SDK の中核となるコンポーネントです。SDK を利用するには、ライブラリをインポートします:
登録
登録とは、第2認証要素とAuth0アカウントとのリンクです。アカウントを登録すると、アイデンティティの確認に必要な第2認証要素の提示が必要になります。まだアプリでプッシュ通知を使用していない場合や、プッシュ通知にあまりなじみがない場合は、詳しくは Apple Push Notification Service Overview を参照してください。 登録には、テナントドメインに加えて、次の情報が必要です。
情報がそろったら、デバイスを登録できます。
署名鍵と検証用キー
Guardian.swift では、署名鍵を生成するための便利なクラスが提供されています。Data形式で取得し、たとえば暗号化されたSQLiteDBに安全に保存できます。
SigningKey から取得できます。
ログインリクエストを許可する
登録が完了すると、ユーザーが MFA で本人確認を行う必要があるたびに、プッシュ通知を受け取ります。Guardian には、APNs から受信したデータを解析し、すぐに使えるNotification インスタンスを返すメソッドがあります。
allow メソッドを使って認証リクエストを簡単に許可できます。また、以前に取得した登録済みデバイスの情報もいくつか必要です。登録情報が複数ある場合は、通知と同じ id (enrollmentId プロパティ) を持つものを見つける必要があります。
情報がそろったら、device パラメータには、プロトコル AuthenticatedDevice を実装する任意のオブジェクトを指定できます:
UIDevice.current.identifierForVendor が使われます。あとは次を呼び出すだけです:
ログインリクエストを拒否する
認証リクエストを拒否するには、代わりにreject を呼び出します。必要に応じて、拒否理由を送信することもできます。拒否理由は Guardian のログに表示されます。
登録解除
たとえば MFA を無効にする場合など、登録を削除するには、次のリクエストを送信します。モバイル専用のOTP登録を設定する
または を使用して、OTPをMFA認証要素として有効にできます。このオプションではQR codeは不要で、ユーザーは手動で登録できます。 ユーザーに登録を案内するには、Auth0 Dashboard > User Management > Users に移動してユーザーを選択します。次に、Details タブを開き、Multi-Factor Authentication セクションから登録招待を送信します。リソースを接続する
Auth0 Dashboard または Guardian SDK を使って、リソースを接続できます。-
Auth0ログインプロンプトにアクセスし、表示されたコード、または別のソースから取得した同様のBase32エンコード済みキーをコピーします。次の手順で、このコードを認証アプリに入力します。

- コピーしたコードを、Guardian などの認証アプリに追加します。
-
Guardianライブラリをインポートします。
-
コードジェネレーターを作成します。
-
生成されたコードを取得します。
ワンタイムコードを入力
Auth0 のログインプロンプトで、前の手順で生成したワンタイムコードを入力します。
アプリでログインする
認証要素の登録が完了すると、ユーザーはアプリを使ってログインできるようになります。まず、認証方法として Guardian アプリを選択します。
