11.12.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.12.2.1 Apple iOS証明書、アプリケーションID、バンドル識別子およびキーストアの作成
Apple iOS証明書、アプリケーションID、バンドル識別子およびキーストアの作成について説明します。
ドキュメントID 2319759.1に記載されているステップを完了したら、このドキュメントに戻って、それ以降の手順を確認してください。
11.12.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.12.2.3 iOSプッシュ通知のOAAプロパティの構成
iOSデバイスのプッシュ通知の構成に必要なOAAプロパティをいくつか設定する必要があります。
表11-7 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.pushPreferencesEndpoint | プッシュ・ファクタ登録に使用されるホストおよびポート。このホストとポートは、デバイスからアクセス可能である必要があります。これは、「デプロイメント詳細の出力」のSpuiUrl (SpuiUrl=https://<host:port>/oaa/rui )で参照されるホストおよびポートに対応します。
|
https://oaainstall |
bharosa.uio.default.challenge.type.enum.ChallengeOMAPUSH.challengeAnswerEndpoint | プッシュ・ファクタ・ランタイムに使用されるホストおよびポート。このホストとポートは、デバイスからアクセス可能である必要があります。これは、「デプロイメント詳細の出力」のプッシュURL (Push=https://<host:port>/oaa-push-factor )で参照されるホストおよびポートに対応します。
|
https://oaainstall |
bharosa.uio.default.challenge.type.enum.ChallengeOMAPUSH.retrycount | チャレンジの最大失敗再試行回数。この数を超えると、チャレンジはロックされます。デフォルト値は10です。Oracle Universal Authenticatorでプッシュ通知を使用する場合は、この値を50に設定する必要があります。 | 50 |
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.pushPreferencesEndpoint",
"value": "https://oaainstall"
},
{
"name": "bharosa.uio.default.challenge.type.enum.ChallengeOMAPUSH.challengeAnswerEndpoint",
"value": "https://oaainstall"
},
{
"name": "bharosa.uio.default.challenge.type.enum.ChallengeOMAPUSH.retrycount",
"value": "50"
},
{
"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.12.2.4 iOSでのOracle Mobile Authenticatorへのユーザー・アカウントの登録
この項では、OMAアプリケーションでユーザー・アカウントを登録する方法について説明します。
11.12.2.5 Oracle Mobile Authenticatorのインストール
Apple社のApp Storeから直接インストールされた標準OMAアプリケーションでは、OAAログイン試行のプッシュ通知がサポートされていません。
Apple Developerコンソールで生成されたプッシュ通知証明書は、OMAアプリケーションに直接関連付けられます。そのため、プッシュ通知を受信するには、カスタムOMAアプリケーションを同一の証明書で作成して署名する必要があります。
このカスタムOMAアプリケーションの作成方法については、My Oracle SupportのドキュメントID 2319759.1を参照してください。