Oracle® Fusion Middleware Oracle Access Management管理者ガイド 11g リリース2 (11.1.2.3) for All Platforms E61950-08 |
|
![]() 前 |
![]() 次 |
モバイルOAuth SSOサーブレットは、ユーザーが2-leggedフローで(外部または埋込みの)モバイル・ブラウザで実行されているアプリケーションにサインオンするときに、デバイスのネイティブ・アプリケーションをシングル・サインオン・プロキシ・アプリケーションとして使用できるようにします。
この配置では、ネイティブ・アプリケーションがログイン・ページを実装し、Mobile and Socialサービスを使用してOracle Access Managementに対する認証を行います。この認証スキームを、デバイス上の複数のネイティブ・アプリケーションを試行するように構成できます。最初のアプリケーションが0.5秒(500ms)以内に応答しない場合、サーブレットはアプリケーションのリスト順にブラウザを次のアプリケーションにリダイレクトします。サーブレットがリストの最後に達したが、指定されたクライアントIDでインストールされているアプリケーションが存在しない場合、サーブレットはユーザーをOAMログイン・ページにリダイレクトします。同様に、リクエストをデスクトップ・ブラウザから受信した場合、そのリクエストはOAMログイン・ページに転送されます。
次に、モバイルSSOサーブレット認証フローについて説明します。
ユーザーがモバイル・ブラウザでURLを開きます。
アプリケーションをホストしているWebサーバーが、ブラウザをOAMにリダイレクトします。
Access Managerが、ブラウザをデバイス上のネイティブ・アプリケーションにリダイレクトします。
ブラウザは、リダイレクトに応答してネイティブ・アプリケーションを起動します。
ネイティブ・アプリケーションがユーザー・ログイン・ページを表示します。
ユーザーは、ユーザー名とパスワードを入力します。
ネイティブ・アプリケーションは、2-leggedデバイス登録フローを実行します。また、ユーザー資格証明を収集し、デバイス登録を行って、クライアント・トークンを取得します。サーバー側シングル・サインオンが有効になっている場合、ユーザー・トークンはサーバーに格納され、クライアントには返されません。サーバー側シングル・サインオンがオフになっている場合、ユーザー・トークンはクライアントに返されます。
ネイティブ・アプリケーションは、クライアント・トークンとユーザー・トークンをOAMマスター・トークン(OAM_ID)と交換します。(サーバー側シングル・サインオンが有効になっている場合、ユーザー・トークンはサーバー側キーストアから交換されます。)
ネイティブ・アプリケーションはブラウザをOracle Access Management Mobile and Socialサーバーにリダイレクトし、ここでOAMマスター・トークンがCookieとして挿入されます。
ネイティブ・アプリケーションは、モバイル・ブラウザにURLリダイレクトおよびCookieとしてのOAMマスター・トークンを送信します。
アクセス・リクエストにOAMマスター・トークンが組み込まれたので、モバイル・ブラウザは元のURLを開きます。
Webサーバーが、リクエストされたページをモバイル・ブラウザに送信します。
次の各項では、構成のステップを示します。
モバイルOAuth SSOオプションの詳細は、「モバイルOAuthサービスのサーバー側シングル・サインオンの理解」を参照してください。
モバイルOAuthサービスのシングル・サインオン認証スキームを使用するようにOAMおよびアプリケーションを構成できます。
次の構成タスクを完了する必要があります。
Oracle Access Managementコンソールで、OAM Webゲートを使用してWebリソースを保護します。その方法は、「OAM 11gエージェントの登録および管理」を参照してください。
Access Managerで、OAMサーバーにカスタムMobileSSOServlet認証スキームを作成し、モバイル・アプリケーションIDのリストを使用してこれを構成します。次に、OAMで、Webリソースを保護するための認証スキームを構成します。その方法は、「MobileSSOServlet認証スキームの構成」を参照してください。
必要に応じて、ネイティブ・モバイル・アプリケーション・クライアントをモバイルOAuthサービスに登録します。ネイティブ・モバイル・アプリケーション・クライアントをOAuthサービスに登録するには、「クライアントの構成」を参照してください。
モバイルOAuthサービスで、シングル・サインオン・プロキシとして機能するように構成するネイティブ・モバイル・アプリケーションにリソース所有者権限タイプを割り当てます。2-leggedクライアント登録を実行できるようにするには、この権限タイプが必要です。
クライアントにリソース所有者権限タイプを割り当てるには、OAuthサービスのモバイル・クライアント構成ページを使用します。詳細は、「モバイル・クライアント構成ページ」を参照してください。
Mobile and Socialサービスを使用してOAMに対する認証を行うようにデバイス・ネイティブのアプリケーションをコーディングするには、『Oracle Fusion Middleware Oracle Access Management開発者ガイド』の次の各項を参照してください。
iOSの場合、iOSクライアントSDKを使用した認証サービスの起動に関する項を参照してください。
Androidの場合、AndroidクライアントSDKを使用した認証サービスの起動に関する項を参照してください。
REST APIの場合、Mobile and SocialサービスRESTリファレンス: 認証および許可に関する項を参照してください。
アプリケーションをコーディングする際は、この機能を使用するために必要な/authenticate
エンドポイントを実装してください。このエンドポイントは、クライアント登録、OAMトークン交換、およびMobileSSOServletへのURLリダイレクションを提供します。/authenticate
エンドポイントでは、リソースURL (resource_url
)および戻りURL (http://<OAM-HOST>:<OAM-PORT>/ms_oauth/mobilesso
)をパラメータとして受け入れる必要があります。
登録およびOAMトークン交換がアプリケーションで完了すると、/authenticate
エンドポイントに送信されたreturn_urlの値を使用して、認証プロセスの制御が(OAM_IDおよびresource_urlとともに)戻されます。このURLを使用して、アプリケーションをMobileSSOServletに再びリダイレクトします。
/mobilesso?OAM_ID=1234&resource_url=http://<OAM-host>:7777/index.html
説明:
OAM_ID
= OAMマスター・トークン値
resource_url
= リソースのURL
この場合、アプリケーションをMobileSSOServletにリダイレクトするのに使用されるリダイレクトURLは、http://<OAM-HOST>:<OAM-PORT>/ms_oauth/mobilesso?OAM_ID=1234&resource_url=http://<OAM-host>:7777/index.html
になります。
Access ManagerでWebリソースを保護するための新しい認証スキーム(MobileSSOServlet認証スキーム)を構成できます。
新しいMobileSSOServlet認証スキームを構成するには、次のステップを実行します。
Oracle Access Management管理コンソールにログインします。
「アプリケーション・セキュリティ」起動パッドが開きます。
「Access Manager」で、「認証スキーム」をクリックし、「認証スキームの作成」ボタンをクリックします。
認証スキームの作成タブが開きます。
次のようにフォームに入力して、新しい認証スキームを作成します。
名前: MobileSSO-OAuth
認証レベル: 2
チャレンジ・メソッド: FORM
チャレンジ・リダイレクトURL: /oam/server/
認証モジュール: LDAP
チャレンジURL: /mobilesso
コンテキスト・タイプ: customWar
コンテキスト値: /ms_oauth/
チャレンジ・パラメータ:
applications=TestApp1,TestApp2 serviceEndPoint=oauthservice
Oracle Access Management管理コンソールで、次の手順を実行します。
アプリケーション・ドメイン内に新しい認証ポリシーを作成して、次の認証スキームを割り当てます。
認証スキーム: MobileSSO-OAuth
(MobileSSO-OAuthは、ステップ1で作成したスキームです。)
HTTPリソース(/mobileoauthapp
など)を作成し、作成した認証スキーム(MobileSSO-OAuth)を使用してそのリソースを保護します。これは、モバイルWebブラウザ(iOS用モバイル版Safari)からアクセスでき、WebGateによって保護されるURIです。