Joomla IDP プラグインを使用した AWS Cognito への SAML シングルサインオン (SSO)
概要
Joomla IDP を使用した AWS Cognito でのシングルサインオンでは、AWS Cognito をサービスプロバイダー (SP) として、Joomla を SAML アイデンティティプロバイダー (IDP) として設定することで、ユーザーは Joomla を使用して AWS Cognito にログインできます。このガイドでは、2 つのプラットフォーム間で SSO を設定するための手順を順を追って説明します。
AWS Cognito とは何ですか?
AWS Cognito は、Amazon Web Services (AWS) が提供するサービスで、Web およびモバイル アプリケーションの認証、承認、ユーザー管理を提供します。これにより、ユーザーのサインアップ、サインイン、アクセス制御をアプリに追加するプロセスが簡素化されます。
Joomla SAML IDPプラグインをインストールする
- Joomla サイトにログインします。 管理者 コンソール。
- 左側のトグルメニューから、 をクリックします エントルピーをクリックし、「インストール」セクションで「」をクリックします。 拡張機能.
- 今後はクリック またはファイルを参照します ボタンをクリックして、前にダウンロードしたプラグイン ファイルを見つけてインストールします。

- プラグインのインストールは成功しました。 今すぐクリックしてください miniOrange SAML IDPプラグインの使用を開始する miniOrange Joomla IDP プラグインを設定します。

- に行きます miniOrange Joomla IDP プラグイン、 ID プロバイダー タブには何も表示されないことに注意してください。
- ここでは、ID プロバイダー メタデータ XML URL/ファイル、または IDP エンティティ ID、SAML ログイン URL、SAML ログアウト URL (プレミアム機能)、SP 構成の証明書などのエンドポイントを見つけることができます。以下に示すボタンをクリックして、XML メタデータをダウンロードします。

構成手順
この設定では、 Joomlaの ユーザーを保存するためのリポジトリとして機能します。つまり、IDPとして機能します。 AWSコグニート ユーザーがJoomlaの資格情報を使用してログインする場所です。 Joomla SAML IDP SSO プラグイン インストールされます。
ステップ 1: AWS Cognito を SP (サービスプロバイダー) として設定する
- まず、に行きます AWS Cognito コンソール アカウントにサインアップ/ログインして AWS Cognito を設定します。
- に行く サービス > セキュリティ、アイデンティティ、コンプライアンス > Cognito.

- クリック ユーザープールの管理をタップし、その後、 ユーザープールを作成する.


- プール名に名前を入力します。 クリック デフォルトを確認するをタップし、その後、 プールの作成.

- プールを作成した後は、 プール ID 便利なので、メモしておけば、IdP の設定に役立ちます。

- 左側のペインで、[アプリ統合] の下の [ドメイン名] をクリックします。使用可能なドメイン プレフィックスを入力して保存します。このドメインは、IDP を構成するために ACS URL で必要になるため、保持しておきます。

- 左側のペインで、をクリックします ID プロバイダー 連邦の下で。その後 SAMLを選択.

- Joomla IDPメタデータをアップロードし、名前を付けてクリックします プロバイダーの作成.

- これを追加
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress
SAML 属性テキスト フィールドに属性を入力し、ユーザー プール属性として電子メールを選択します。

- クリック 変更を保存します.
ステップ2: Joomlaをアイデンティティプロバイダとして設定する
- miniOrange Joomla SAML IDP プラグインで、[サービス プロバイダー] タブに移動します。
- SP エンティティ ID フィールドに、 urn:amazon:cognito:sp:(YourUserPoolId) と入力し、アンカー (<>) タグを削除して、プールの作成時に上記で既にコピーしておいたユーザー プール ID を追加します。
- 「yourUserPoolId」を Amazon Cognito ユーザープール ID に置き換えます。
- ユーザー プール ID を見つけるには:
- AWS マネジメントコンソールに管理者としてログインします。
- [サービス] > [セキュリティ、ID、コンプライアンス] に移動し、[Cognito] を選択します。
- 「ユーザー プールの管理」を選択し、構成で使用するユーザー プールを選択します。
- リストの一番上にあるプール ID を見つけます。
- ACS URL フィールドに次のように入力します。
https://YourSubdomain.amazoncognito.com/saml2/idpresponse
そしてそれを保存します。 - YourSubdomain を上記の手順で作成したものに置き換えてください。

- 以下の手順に従ってサブドメインを見つけることもできます。
- サブドメインを見つけるには:
- 「アプリ統合」の下の「ドメイン名」をクリックします。
- URL 全体をコピーし、ACS URL 内の YourSubdomain に置き換えます (ここでは空白をすべて削除してください)。

- アサーションに署名するには、「アサーション署名」チェックボックスを有効にし、「保存」ボタンをクリックします。
- 属性をマップするには、「マッピング」タブをクリックします。ドロップダウンからサービス プロバイダーを選択します。
- これを追加
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress
属性名テキストフィールドに値を入力し、属性値のドロップダウンから電子メール アドレスを選択します。[マッピングの保存] ボタンをクリックします。

ステップ 3: AWS Cognito でアプリクライアントを設定する
- 次に、「一般設定」の下にある「アプリ クライアント」をクリックします。「アプリ クライアントの追加」をクリックします。

- アプリ クライアント名を入力します。例: JoomlaIdP。クライアント シークレットの生成チェックボックスをオフにして、下部にあるアプリ クライアントの作成ボタンをクリックします。

- 次に、左側のペインの「アプリ統合」の下にある「アプリ クライアント設定」をクリックします。
- [すべて選択] チェックボックスを有効にし、コールバック URL とサインアウト URL を入力します。[許可された OAuth フロー] で [暗黙の許可] を選択します。次に、[許可された OAuth スコープ] でメールと openid のチェックボックスを有効にし、右下隅にある [変更を保存] ボタンをクリックします。

- 次に、下部にある「Launch Hosted UI」をクリックして SSO を実行します。

- 次の SSO URL を使用して SSO を実行することもできます。
https://(domain_prefix).auth.(region).amazoncognito.com/login? response_type=token&client_id=(app client id)&redirect_uri=(your redirect URI)