前提条件
- ポータルとそのアプリケーション。作成方法については、Universal Portalsのクイックスタートをお読みください。アプリケーションを自分で構成する場合は、Universal Portals用にアプリケーションを構成するをお読みください。
-
ポータルのURL:
YOUR_DOMAINにはカスタムドメインを指定します。カスタムドメインがない場合はAuth0ドメインを指定します。{slug}はポータルのスラッグです。 このURLにアクセスすると、ポータルのデフォルトページが開きます。ポータルにデフォルトページが設定されていない場合、ユーザーには「Page not found」というエラーメッセージが表示されます。デフォルトページの構成方法については、Universal Portalsを構成するをお読みください。 -
ポータルをOrganizationsと併用する場合:
- ポータルアプリケーションでOrganizationsが許可されていること。詳細については、Universal Portals用にアプリケーションを構成するをお読みください。
- ユーザーがOrganizationのメンバーであること。
- ビジネスポータルの場合、コンポーネントに必要なOrganizationの権限をユーザーが持っていること。詳細については、My Organization APIをお読みください。
Web アプリケーションから Portal を開く
アプリケーションからポータルの URL にリンクします。ネイティブアプリケーションからポータルを開く
ネイティブからWebへのSSOを使用すると、ユーザーのセッションをネイティブアプリケーションからポータルへ引き継ぐことができます。ネイティブアプリケーションは、リフレッシュトークンを使い捨てのセッション転送トークンと交換し、そのトークンをURLに含めてアプリ内ブラウザーでポータルを開きます。 始める前に、ネイティブアプリケーションでネイティブからWebへのSSOを構成してください。詳細については、「ネイティブからWebへのSSOを構成・実装する」をお読みください。次に、ポータルアプリケーションがセッション転送トークンを受け付けるように構成します。詳細については、「ユニバーサルポータル用にアプリケーションを構成する」をお読みください。リフレッシュトークンをセッション転送トークンに交換する
このリクエストは、アプリ内ブラウザーを開く直前に実行してください。トークンの有効期限は60秒で、使用できるのは1回限りです。access_token がセッション転送トークンです。
アプリ内ブラウザーを開く
トークンを付与したポータルのURLを開きます:アプリ内ブラウザーでポータルのナビゲーションを非表示にする
デフォルトでは、ポータルには上部バー、サイドバー、ユーザーメニューが表示されます。アプリ内ブラウザーの場合、ナビゲーションやユーザーのコンテキストはネイティブアプリケーション側ですでに提供されているため、URLパラメーターを使ってこれらの要素を非表示にできます。
以下のワイヤーフレームは、各パラメーターとよく使われる組み合わせを適用した場合の表示を示しています。
これらのパラメーターは、ユーザーがポータル内のページを移動しても保持されます。そのため、アプリ内ブラウザーを開くときに一度追加するだけで済みます。
Organizationのコンテキストでポータルを開く
特定のOrganizationを対象にポータルを開くには、organizationパラメーターを使用します。My Organization APIには操作対象のOrganizationが必要なため、ビジネス向けポータルでは必ずこのパラメーターを指定してください。コンシューマー向けポータルでは、ユーザーが複数のOrganizationに所属している場合に指定してください。
URL を作成する
ポータルの URL に Organization を追加します。organizationをAuth0の/authorizeエンドポイントに転送するため、他の/authorizeリクエストと同じ識別子の形式を使用してください。具体的には、org_abc123のようなOrganization IDか、テナントで名前を受け付けるようにセットアップしている場合はOrganization名を指定します。詳細については、「認証APIでOrganization名を使用する」をお読みください。
アプリケーションからポータルを開く
アプリケーションでOrganizationを選択してから、そのURLにリンクします。ネイティブアプリケーションの場合は、アプリ内ブラウザーで開くURLにorganizationを追加します。詳細については、「ネイティブアプリケーションからポータルを開く」をお読みください。
ネイティブアプリケーションの場合、
organizationの値はセッション転送トークンのOrganizationと一致している必要があります。一致しない場合、Auth0はトークンを拒否するため、ユーザーは再度サインインしなければなりません。詳細については、「OrganizationsでのネイティブからWebへのSSO」をお読みください。Organizationの切り替え
アクティブなポータルセッションを持つユーザーが別のorganizationを指定してPortalを開くと、PortalはそのOrganizationでユーザーを再度サインインさせ、既存のポータルセッションを置き換えます。
Organization コンテキストにおける Portal の動作
- My Organization API を呼び出すコンポーネントは、ユーザーの Organization を対象に動作します。
- Portal には、その Organization のブランディングが適用されます。
- MFA ステップアップチャレンジが発生しても、ユーザーは同じ Organization 内に留まります。
ユーザーがPortalを開いたときにアクションを実行する
Portalへのサインイン時には、post-loginアクションが実行されます。Portalでのみロジックを実行するには、アプリケーションのClient IDとevent.client.client_idを比較します。
次の例では、ビジネス用Portalへのアクセスを制限します。なお、Organization 管理者にはadminロールを割り当てていることを前提としています。Organizationでサインインし、かつadminロールを持つユーザーだけがPortalにアクセスできるようにします。
URLパラメーター
次のステップ
Universal Portals用にアプリケーションを構成する
ネイティブアプリケーションとOrganizationsで必要となるアプリケーションのオプションを設定します。
Universal Portalsのアーキテクチャ
Portal内でサインイン、コンポーネントの呼び出し、セッションがどのように機能するかを確認します。
Universal Portalsのトラブルシューティング
サインインやOrganizationに関する問題を解決します。