プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle Access Management管理者ガイド
11g リリース2 (11.1.2.3) for All Platforms
E61950-08
目次へ移動
目次

前
次

53.7 SSOサーブレット認証のためのモバイルOAuthの構成

モバイルOAuth SSOサーブレットは、ユーザーが2-leggedフローで(外部または埋込みの)モバイル・ブラウザで実行されているアプリケーションにサインオンするときに、デバイスのネイティブ・アプリケーションをシングル・サインオン・プロキシ・アプリケーションとして使用できるようにします。

この配置では、ネイティブ・アプリケーションがログイン・ページを実装し、Mobile and Socialサービスを使用してOracle Access Managementに対する認証を行います。この認証スキームを、デバイス上の複数のネイティブ・アプリケーションを試行するように構成できます。最初のアプリケーションが0.5秒(500ms)以内に応答しない場合、サーブレットはアプリケーションのリスト順にブラウザを次のアプリケーションにリダイレクトします。サーブレットがリストの最後に達したが、指定されたクライアントIDでインストールされているアプリケーションが存在しない場合、サーブレットはユーザーをOAMログイン・ページにリダイレクトします。同様に、リクエストをデスクトップ・ブラウザから受信した場合、そのリクエストはOAMログイン・ページに転送されます。

次に、モバイルSSOサーブレット認証フローについて説明します。

  1. ユーザーがモバイル・ブラウザでURLを開きます。

  2. アプリケーションをホストしているWebサーバーが、ブラウザをOAMにリダイレクトします。

  3. Access Managerが、ブラウザをデバイス上のネイティブ・アプリケーションにリダイレクトします。

  4. ブラウザは、リダイレクトに応答してネイティブ・アプリケーションを起動します。

  5. ネイティブ・アプリケーションがユーザー・ログイン・ページを表示します。

  6. ユーザーは、ユーザー名とパスワードを入力します。

  7. ネイティブ・アプリケーションは、2-leggedデバイス登録フローを実行します。また、ユーザー資格証明を収集し、デバイス登録を行って、クライアント・トークンを取得します。サーバー側シングル・サインオンが有効になっている場合、ユーザー・トークンはサーバーに格納され、クライアントには返されません。サーバー側シングル・サインオンがオフになっている場合、ユーザー・トークンはクライアントに返されます。

  8. ネイティブ・アプリケーションは、クライアント・トークンとユーザー・トークンをOAMマスター・トークン(OAM_ID)と交換します。(サーバー側シングル・サインオンが有効になっている場合、ユーザー・トークンはサーバー側キーストアから交換されます。)

  9. ネイティブ・アプリケーションはブラウザをOracle Access Management Mobile and Socialサーバーにリダイレクトし、ここでOAMマスター・トークンがCookieとして挿入されます。

  10. ネイティブ・アプリケーションは、モバイル・ブラウザにURLリダイレクトおよびCookieとしてのOAMマスター・トークンを送信します。

  11. アクセス・リクエストにOAMマスター・トークンが組み込まれたので、モバイル・ブラウザは元のURLを開きます。

  12. Webサーバーが、リクエストされたページをモバイル・ブラウザに送信します。

次の各項では、構成のステップを示します。

モバイルOAuth SSOオプションの詳細は、「モバイルOAuthサービスのサーバー側シングル・サインオンの理解」を参照してください。

53.7.1 モバイルSSOサーブレットを使用するためのOAMおよびアプリケーションの構成

モバイル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になります。

53.7.2 MobileSSOServlet認証スキームの構成

Access ManagerでWebリソースを保護するための新しい認証スキーム(MobileSSOServlet認証スキーム)を構成できます。

新しいMobileSSOServlet認証スキームを構成するには、次のステップを実行します。

  1. Oracle Access Management管理コンソールにログインします。

    「アプリケーション・セキュリティ」起動パッドが開きます。

  2. 「Access Manager」で、「認証スキーム」をクリックし、「認証スキームの作成」ボタンをクリックします。

    認証スキームの作成タブが開きます。

  3. 次のようにフォームに入力して、新しい認証スキームを作成します。

    • 名前: MobileSSO-OAuth

    • 認証レベル: 2

    • チャレンジ・メソッド: FORM

    • チャレンジ・リダイレクトURL: /oam/server/

    • 認証モジュール: LDAP

    • チャレンジURL: /mobilesso

    • コンテキスト・タイプ: customWar

    • コンテキスト値: /ms_oauth/

    • チャレンジ・パラメータ:

      applications=TestApp1,TestApp2
      serviceEndPoint=oauthservice
  4. Oracle Access Management管理コンソールで、次の手順を実行します。

    1. アプリケーション・ドメイン内に新しい認証ポリシーを作成して、次の認証スキームを割り当てます。

      認証スキーム: MobileSSO-OAuth

      (MobileSSO-OAuthは、ステップ1で作成したスキームです。)

    2. HTTPリソース(/mobileoauthappなど)を作成し、作成した認証スキーム(MobileSSO-OAuth)を使用してそのリソースを保護します。これは、モバイルWebブラウザ(iOS用モバイル版Safari)からアクセスでき、WebGateによって保護されるURIです。