11.11 Oracle Mobile Authenticatorのプッシュ通知の構成
OAAでは、Oracle Mobile Authenticator (OMA)アプリケーションのプッシュ通知を構成できるようになりました。
11.11.1 AndroidでのOracle Mobile Authenticatorのプッシュ通知の構成
OMAは、時間ベースのワンタイム・パスワード(TOTP)かプッシュ通知を使用して、2ファクタ認証スキームでユーザーを認証するモバイル・デバイス・アプリケーションです。OAAでは、OMAアプリケーションのプッシュ通知を構成できるようになりました。
OMAのプッシュ通知を使用した認証を求められると、Androidデバイスにプッシュ通知が配信され、ユーザーはログインの試行を許可または拒否する必要があります。プッシュ通知はOMAアプリケーションに配信され、その後OAAサーバーと通信して、保護されたリソースへのアクセス権が付与または拒否されます。
11.11.1.1 認証方法としてのOracle Mobile Authenticatorアプリケーションのインストール
Androidデバイス用のOMAアプリは、Google Playストアからダウンロードできます。
11.11.1.2 Google Cloud Messagingに対応したGoogle Firebaseプロジェクトの作成
Androidデバイスにプッシュ通知を送信するには、Androidプッシュ通知サービスでプロジェクトが有効になっていることを確認する必要があります。Androidに使用できるプッシュ通知サービスはGoogle Cloud Messaging (GCM)で、Google Firebaseプロジェクトを作成する必要があります。
- Google Firebaseコンソール(https://console.firebase.google.com/)にログインします。
- 「Create a project」をクリックします。
- 「Project name」フィールドに、プロジェクトの名前を入力します。たとえば、OAAAndroidPUSHです。
- 「I accept the Firebase terms」チェック・ボックスを選択します。
- Firebaseのプロジェクト・ページの「Google Analytics」で、「Enable Google Analytics for this project」の選択を解除し、「Create project」をクリックします。
- 新しいプロジェクトの準備が完了したら、「Continue」をクリックします。
- プロジェクト・ウィンドウの左側のナビゲーション・ペインで、「Settings」アイコンをクリックし、「Project settings」を選択します。
- 「Project settings」ページで、「Cloud Messaging」をクリックします。
- 「Server key」および「Sender ID」フィールドに表示される値をメモします。これらの値は、次の項でOAAプロパティを設定するために必要です。
11.11.1.3 Androidプッシュ通知のOAAプロパティの構成
Androidデバイスのプッシュ通知の構成に必要なOAAプロパティをいくつか設定する必要があります。
表11-5 OAAプロパティ
プロパティ名 | 説明 | サンプルの値 |
---|---|---|
bharosa.uio.default.challenge.type.enum.ChallengeOMAPUSH.proxyProtocol | プロキシ・サーバーのプロトコル。 | httpまたはhttps |
bharosa.uio.default.challenge.type.enum.ChallengeOMAPUSH.proxyHost | プロキシ・サーバーのホスト名またはIPアドレス。 | proxy.example.com |
bharosa.uio.default.challenge.type.enum.ChallengeOMAPUSH.proxyPort | プロキシ・サーバーのポート。 | 80 |
bharosa.uio.default.challenge.type.enum.ChallengeOMAPUSH.google.firebase.serverKey | Firebaseの「Server Key」。 | AAAAh1hlXa8:APA91.... |
bharosa.uio.default.challenge.type.enum.ChallengeOMAPUSH.google.firebase.senderId | Firebaseの「Sender ID」。 | 58213467743 |
ノート:
proxyProtocol
、proxyHost
およびproxyPort
プロパティは、プロキシ・サーバーを介してインターネットにアクセスできる場合にのみ必要です。OAAがインターネットに直接アクセスできる場合、これらのプロパティを設定する必要はありません。
OAAプロパティは、次のREST APIを使用して構成できます:
PUT <PolicyUrl>/policy/config/property/v1
ノート:
この場合は、<PolicyUrl>
から/oaa-policy
を削除します。たとえば、https://<host>:<port>/oaa-policy/policy/config/property/v1
ではなくhttps://<host>:<port>/policy/config/property/v1
を使用しますCURLコマンドを使用してOAAプロパティを構成する次の例を考えてみます次の例では、OAAがプロキシ・サーバーを介してインターネットにアクセスすることを想定しています:
curl --location -g --request PUT 'https://<PolicyUrl>/policy/config/property/v1' \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic <Base64Encoded(<username>:<password>)>' \
--data '[
{
"name": "bharosa.uio.default.challenge.type.enum.ChallengeOMAPUSH.proxyProtocol",
"value": "https"
},
{
"name": "bharosa.uio.default.challenge.type.enum.ChallengeOMAPUSH.proxyHost",
"value": "proxy.example.com"
},
{
"name": "bharosa.uio.default.challenge.type.enum.ChallengeOMAPUSH.proxyPort",
"value": "80"
},
{
"name": "bharosa.uio.default.challenge.type.enum.ChallengeOMAPUSH.google.firebase.serverKey",
"value": "AAAAh1hlXa8:APA91bGOGR4pMYe9GC6a2rU169hTCBVmc................................LpU2F8_Egn7IZguC1Rr2HSNnROzXu1d1Lam0TJ"
},
{
"name": "bharosa.uio.default.challenge.type.enum.ChallengeOMAPUSH.google.firebase.senderId",
"value": "58213467743"
}
]'
PolicyUrl
の検索および認証の詳細は、「OAA管理API」を参照してください。
REST APIの詳細は、構成プロパティRESTエンドポイントに関する項を参照してください
11.11.2 iOSでのOracle Mobile Authenticatorのプッシュ通知の構成
OAAでは、iOSでOMAアプリケーションのプッシュ通知を構成できるようになりました。
OMAのプッシュ通知を使用した認証を求められると、iOSデバイスにプッシュ通知が配信され、ユーザーはログインの試行を許可または拒否する必要があります。プッシュ通知はOMAアプリケーションに配信され、その後OAAサーバーと通信して、保護されたリソースへのアクセス権が付与または拒否されます。
プッシュ通知は、Appleのプッシュ通知サービス(APNS)を介してiOSデバイスに送信されます。これには、Appleプッシュ通知証明書が必要で、生成はApple Developerのコンソールからのみ行えます。
Apple社のApp Storeから直接インストールされた標準OMAアプリケーションでは、OAAログイン試行のプッシュ通知がサポートされていません。Apple Developerコンソールで生成されたプッシュ通知証明書は、OMAアプリケーションに直接関連付けられます。そのため、プッシュ通知を受信するには、カスタムOMAアプリケーションを同一の証明書で作成して署名する必要があります。
iOSデバイスをOAAに登録すると、ユーザーのデバイスIDが格納され(ユーザー・プリファレンス・コンソールで確認可能)、目的の受信者の識別に使用されます。
Appleプッシュ通知証明書は、特に本番サーバーまたは開発サーバー用にApple社によって作成/署名されます。本番APNSサーバーとのプッシュ通知の送受信に、開発証明書を使用することはできません。APNS本番証明書を使用している場合は、Apple社にこれを要求し、APNSCertificate.jksに使用する必要があります。この証明書は、カスタマイズして作成されたOMAアプリケーションへの署名に使用されます。同様に、APNS開発証明書を使用している場合は、Apple社にこれを要求し、APNsCertificate.jksに使用する必要があります(この証明書は、カスタマイズして作成されたOMAアプリケーションへの署名に使用されます)。
11.11.2.1 Apple iOS証明書、アプリケーションID、バンドル識別子およびキーストアの作成
Apple iOS証明書、アプリケーションID、バンドル識別子およびキーストアの作成について説明します。
ドキュメントID 2319759.1に記載されているステップを完了したら、このドキュメントに戻って、それ以降の手順を確認してください。
11.11.2.2 OAAへのAPNS Javaキー・ストアのコピー
APNSCertificate.jks
ファイルを作成した後、このファイルを<NFS_VAULT_PATH>
にコピーする必要があります。これは/u01/oracle/service/store/oaa
にマップされます。
- NFSボリューム
<NFS_VAULT_PATH>
にディレクトリを作成します:$ cd <NFS_VAULT_PATH> $ mkdir -p ChallengeOMAPUSH/apns $ cp APNSCertificate.jks <NFS_PATH>/ChallengeOMAPUSH/apns $ sudo chmod 444 <NFS_VAULT_PATH>/ChallengeOMAPUSH/apns/APNSCertificate.jks
ノート:
APNSCertificate.jks
は<NFS_VAULT_PATH>
内の任意の場所にコピーできますが、ファイルのコピー先ディレクトリを指すようにプロパティbharosa.uio.default.challenge.type.enum.ChallengeOMAPUSH.apns.keystorePath
を変更する必要があります。「iOSプッシュ通知のOAAプロパティの構成」を参照してください。
11.11.2.3 iOSプッシュ通知のOAAプロパティの構成
iOSデバイスのプッシュ通知の構成に必要なOAAプロパティをいくつか設定する必要があります。
表11-6 OAAプロパティ
プロパティ名 | 説明 | サンプルの値 |
---|---|---|
bharosa.uio.default.challenge.type.enum.ChallengeOMAPUSH.proxyProtocol | プロキシ・サーバーのプロトコル。 | httpまたはhttps |
bharosa.uio.default.challenge.type.enum.ChallengeOMAPUSH.proxyHost | プロキシ・サーバーのホスト名またはIPアドレス。 | proxy.example.com |
bharosa.uio.default.challenge.type.enum.ChallengeOMAPUSH.proxyPort | プロキシ・サーバーのポート。 | 80 |
bharosa.uio.default.challenge.type.enum.ChallengeOMAPUSH.apns.keystorePath | APNSCertificate.jksキーストアの場所。 | /u01/oracle/service/store/oaa/ChallengeOMAPUSH/apns/APNSCertificate.jks |
bharosa.uio.default.challenge.type.enum.ChallengeOMAPUSH.apns.keystorePass | キーストアのパスワード。 | <password> |
bharosa.uio.default.challenge.type.enum.ChallengeOMAPUSH.apns.h2Topic | Apple Developerコンソールで作成されたAPNSアプリケーションID。 | com.example.MyApp |
ノート:
proxyProtocol
、proxyHost
およびproxyPort
プロパティは、プロキシ・サーバーを介してインターネットにアクセスできる場合にのみ必要です。OAAがインターネットに直接アクセスできる場合、これらのプロパティを設定する必要はありません
OAAプロパティは、次のREST APIを使用して構成できます:
PUT <PolicyUrl>/policy/config/property/v1
ノート:
この場合は、<PolicyUrl>
から/oaa-policy
を削除します。たとえば、https://<host>:<port>/oaa-policy/policy/config/property/v1
ではなくhttps://<host>:<port>/policy/config/property/v1
を使用します。
CURLコマンドを使用してOAAプロパティを構成する次の例を考えてみます次の例では、OAAがプロキシ・サーバーを介してインターネットにアクセスすることを想定しています:
curl --location -g --request PUT 'https://<PolicyUrl>/policy/config/property/v1' \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic <Base64Encoded(<username>:<password>)>' \
--data '[
{
"name": "bharosa.uio.default.challenge.type.enum.ChallengeOMAPUSH.proxyProtocol",
"value": "https"
},
{
"name": "bharosa.uio.default.challenge.type.enum.ChallengeOMAPUSH.proxyHost",
"value": "proxy.example.com"
},
{
"name": "bharosa.uio.default.challenge.type.enum.ChallengeOMAPUSH.proxyPort",
"value": "80"
},
{
"name": "bharosa.uio.default.challenge.type.enum.ChallengeOMAPUSH.apns.keystorePath",
"value": "/u01/oracle/service/store/oaa/ChallengeOMAPUSH/apns/APNsCertificate.jks"
},
{
"name": "bharosa.uio.default.challenge.type.enum.ChallengeOMAPUSH.apns.keystorePass",
"value": "<password>"
},
{"name": "bharosa.uio.default.challenge.type.enum.ChallengeOMAPUSH.apns.h2Topic",
"value": "com.example.MyApp"}
]'
REST APIの詳細は、構成プロパティRESTエンドポイントに関する項を参照してください
11.11.2.4 iOSでのOracle Mobile Authenticatorへのユーザー・アカウントの登録
この項では、OMAアプリケーションでユーザー・アカウントを登録する方法について説明します。
11.11.2.5 Oracle Mobile Authenticatorのインストール
Apple社のApp Storeから直接インストールされた標準OMAアプリケーションでは、OAAログイン試行のプッシュ通知がサポートされていません。
Apple Developerコンソールで生成されたプッシュ通知証明書は、OMAアプリケーションに直接関連付けられます。そのため、プッシュ通知を受信するには、カスタムOMAアプリケーションを同一の証明書で作成して署名する必要があります。
このカスタムOMAアプリケーションの作成方法については、My Oracle SupportのドキュメントID 2319759.1を参照してください。