カスタム認証を設定すると、AEM Mobile アプリの認証プロセスを制御して、ログインエクスペリエンスをカスタマイズできます。カスタム認証ログインエクスペリエンスは、自分でデザインしたフルスクリーンの Web ビューとしてアプリに表示されます。

カスタムログインエクスペリエンス

次の形式がサポートされています。

  • SAML 2.0。MFA/OKTA と Gigya のサポートを含みます。
  • OAuth 2.0。Facebook や Gmail などのソーシャルシェアログインを含みます。
  • 汎用。独自のログイン動作を設計し、エンタイトルメントサービスを操作することができます。

例えば、営業担当者が電子メールとパスワードを使用して OKTA 検証でアプリにログインできるようにします(SAML 2.0)。または、お客様が Gmail や Facebook のアカウントを使用してアプリにログインできるようにします(OAuth 2.0)。アプリは、これらの ID プロバイダーから承認トークンを取得します。この承認トークンをエンタイトルメントサービスで使用して、ユーザーにコンテンツへの権限を与えることができます。setAuthToken API を利用すると、同じアプリ内で複数の認証方法を使用するなど、多様な認証方法が可能になります。

汎用 ID プロバイダーでは、例えば次のような 2 つの代替認証方法を使用できます。

  • 標準のユーザー名とパスワードのプロンプトを使用する代わりに、HTML フォームなどのカスタム UI を提供する。
  • 標準の認証プロセスを経由せずに、記事内でログインエクスペリエンスを作成する。

 

ユーザーにコンテンツへの権限を与えるには、Direct Entitlement API v2 を使用するエンタイトルメントサービスが引き続き必要であることに注意してください。

ユーザーが認証されているかどうかを判断するための API、認証トークンを取得するための API およびログイン UI Web ビューを起動するための API が用意されています。AEM Mobile 固有の Cordova 対応 API の使用を参照してください。

 

カスタム認証について説明するビデオ(英語のみ)

カスタム認証について説明するビデオ(英語のみ)
カスタム認証の概要を説明します。

カスタム認証の設定

ID プロバイダーは「マスター設定」内に設定され、「プロジェクト設定」内のプロジェクトに適用されます。プロジェクトで使用されるマスターアカウントレベルに複数の ID プロバイダーを作成できます。

  1. エンタイトルメントサービスを、AEM Mobile で動作するように設定します。

    カスタム認証サービスを有効にしている場合でも、ユーザーにコンテンツに対する権限を与えるには、Direct Entitlement API v2 を使用するエンタイトルメントサービスが必要です。AEM Mobile アプリのエンタイトルメントを参照してください。

  2. AEM Mobile とエンタイトルメントサービスで使用する SAML 2.0、OAuth 2.0 または汎用 ID プロバイダーを設定します。

    Google の ID プロバイダー

    Google の ID プロバイダーの設定例については、次の PDF ファイルを参照してください(英語版のみ)。

    ダウンロード

    Facebook の ID プロバイダー

    Facebook の ID プロバイダーの設定例については、次の PDF ファイルを参照してください(英語のみ)。

    ダウンロード

    汎用 ID プロバイダー

    汎用 ID プロバイダーの設定例については、次の例を参照してください(英語のみ)。

    ダウンロード

    汎用 ID プロバイダーについては、こちらのビデオ(英語のみ)をご覧ください。

    Gigya

    ID プロバイダーとして Gigya Customer Identity Management を使用できます。これにより、ユーザーは、従来の方法と、Facebook や Google、LinkedIn などの様々なソーシャルメディアを使用する方法の両方でログインできます。Gigya ID プロバイダーの設定例については、次の例を参照してください(英語のみ)。

    ダウンロード

    Gigya のドキュメントの AEM Mobile に関する記事を参照してください。

     

    注意:

    Gigya の認証ワークフローは、ユーザーのブラウザーに設定されている Cookie に基づいています。アプリがそれらの Cookie をサードパーティ Cookie と認識してブロックした場合、AEM Mobile アプリで Gigya の認証が失敗することがあります。ブロックされているサードパーティ Cookie により、Gigya ワークフローによる正常な認証が妨げられる場合、ブロックされるサードパーティ Cookie に関する Gigya のドキュメント(英語のみ)に記載されている解決策を実装することができます。

     

    エンタイトルメントサービスのサンプルコードは、カスタム認証をサポートしています。詳しくは、エンタイトルメントサービスの設定を参照してください。

  3. マスター管理者アカウントを使用してオンデマンドポータルにログインします。「マスター設定」をクリックした後、「ID プロバイダー」タブをクリックします。

  4. 「ID プロバイダーを作成」(+)アイコンをクリックした後、ID プロバイダーの名前と種類(「OAuth 2.0」、「SAML 2.0」または「汎用」)を指定します。

  5. ID プロバイダーの情報を指定します。この記事で後述されているオプションを参照してください。

  6. ID プロバイダーと AEM Mobile アプリ間の信頼を設定するには、Experience Manager Mobile 応答エンドポイント(SAML 2.0)または Experience Manager Mobile リダイレクトエンドポイント(OAuth 2.0)の値をコピーし、その値を ID プロバイダーの構成に追加します。

    この情報の追加によって、AEM Mobile に認証プロセスの結果を通知する方法がサービスに通知されます。例えば、Facebook から返される認証トークンは、そのユーザーのエンタイトルメントサービス内のトークンとは異なります。エンタイトルメントサービス内にユーザーの Facebook 認証トークンをマッピングして、AEM Mobile がエンタイトルメントを呼び出したときに、エンタイトルメントサービスが正しい応答を返すようにする必要があります。これで、ユーザーがログインしたときに、ビューのコンテンツを表示する権限が与えられます。

  7. オンデマンドポータルで、「プロジェクト設定」に移動し、プロジェクトを編集し、「アクセス」タブをクリックします。「カスタム認証を有効にする」を選択し、「マスター設定」に作成した適切な ID プロバイダーを選択します。

  8. プリフライト以外のアプリを作成し、カスタム認証設定をテストします。

SAML 2.0 設定

サービスプロバイダー ID – AEM Mobile が認証要求を ID プロバイダーに送信するときに、自分自身を識別するために使用する値。このサービスプロバイダー ID を ID プロバイダーに登録する必要があります。

プロトコルバインディング – 認証要求を ID プロバイダーに送信するために使用する SAML プロトコルバインディングを定義します。POST および REDIRECT プロトコルバインディングがサポートされています。

NameID 形式 – 指定した場合、AEM Mobile エンタイトルメントサービスは、応答のサブジェクト識別子で指定された形式(なし、永続的、一時的、指定なし)を使用するように要求します。Gigya ID プロバイダーでは「指定なし」を使用します。

AuthToken ソース – 認証応答のどの部分に認証トークンが含まれているかを指定します。属性を使用する場合は、認証トークンを含む認証応答内の属性の名前を指定します。NameID 形式が「一時的」に設定されている場合、NameID を選択できます。

認証 URL – AEM Mobile が認証要求を送信する必要がある ID プロバイダーの URL。

公開署名鍵証明書 – AEM Mobile がアサーション署名を検証するために使用する ID プロバイダーの公開鍵の X509 証明書。

デフォルトのセッション有効期限 – 応答内に持続時間が明示的に指定されていない場合に、成功したログイン応答が有効である秒数。有効期限が切れた後、セッションの更新が ID プロバイダーによってサポートされていれば、セッションは更新されます。それ以外の場合、ユーザーはログアウトされます。デフォルトは 1 時間(3,600 秒)です。

Experience Manager Mobile 応答エンドポイント – ID プロバイダーがアサーション応答を送信する必要がある URL。AEM Mobile によって提供されるこの値を使用するように ID プロバイダーを構成する必要があります。

Experience Manager Mobile 公開暗号鍵証明書 – 必要に応じて、ID プロバイダーが認証応答内のキーを暗号化するために使用できる公開暗号鍵の X509 証明書。

OAuth 2.0 設定

承認付与のタイプ – 承認付与のタイプを決定します(認証コードまたは暗黙的)。

トークンエンドポイント – AEM Mobile が、アクセストークンの認証コードまたは更新トークンを交換するために使用します。HTTPS を強く推奨します。

クライアントシークレット – AEM Mobile は、トークンエンドポイントに接続するときに、この値を使用して自分自身を認証します。指定するクライアントシークレットを ID プロバイダーに登録する必要があります。

デフォルトのセッション有効期限 – 応答内に持続時間が明示的に指定されていない場合に、成功したログイン応答が有効である秒数。有効期限が切れた後、セッションの更新が ID プロバイダーによってサポートされていれば、セッションは更新されます。それ以外の場合、ユーザーはログアウトされます。デフォルトは 1 時間(3,600 秒)です。

承認エンドポイント – AEM Mobile が ID プロバイダーから承認を取得するために使用します。HTTPS を強く推奨します。

クライアント識別子 – AEM Mobile は、ID プロバイダーに接続するときに、この値を使用して自分自身を識別します。指定するクライアント識別子を ID プロバイダーに登録する必要があります。

アクセストークンスコープ – アクセス要求のスコープを記述します。複数の値を指定するには、スペースを使用します。Facebook の例:public_profile、email、user_likes、user_friends。

Experience Manager Mobile リダイレクトエンドポイント – 認証プロセスの完了後に ID プロバイダーがリダイレクトする必要がある AEM Mobile の URL。AEM Mobile によって提供されるこの値を ID プロバイダーに登録する必要があります。

汎用設定

認証 URL – ログイン動作の UI が含まれる Web サイトの URL を指定します。この Web サイトには、ユーザーがログインしたときにエンタイトルメントサービスに認証トークンを渡す情報が含まれている必要があります。

デフォルトのセッション有効期限 – 応答内に持続時間が明示的に指定されていない場合に、成功したログイン応答が有効である秒数。有効期限が切れた後、セッションの更新が ID プロバイダーによってサポートされていれば、セッションは更新されます。それ以外の場合、ユーザーはログアウトされます。デフォルトは 1 時間(3,600 秒)です。

カスタム認証に関するメモとベストプラクティス

  • 「マスター設定」内に ID プロバイダーを作成した後で ID プロバイダーの種類(OAuth 2.0 または SAML 2.0)を変更することはできません。種類を変更するには、新しい ID プロバイダーを作成する必要があります。
  • アクティブプロジェクトの ID プロバイダーを変更すると、すべてのユーザーがログアウトします。
  • SAML は更新をサポートしません。セッションの最後に、ユーザーはもう一度ログインする必要があります。これは、OAuth プロバイダーが更新トークンをサポートしていなければ、OAuth にも当てはまります。
  • デバイスのログアウトで、ユーザーが ID プロバイダーから必ずログアウトするとは限りません。セッションの有効期限は ID プロバイダーが決定します。

本作品は Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License によってライセンス許可を受けています。  Twitter™ および Facebook の投稿には、Creative Commons の規約内容は適用されません。

法律上の注意   |   プライバシーポリシー