AWS Cognito シングルサインオン (SSO) と WordPress OAuth の統合
概要
WordPress 向け AWS Cognito シングルサインオン (SSO) は、OAuth 認証フローを使用して、ユーザーに WordPress サイトへの安全なアクセスを提供します。WordPress OAuth シングルサインオン (SSO) プラグインを使用すると、AWS Cognito は OpenID Connect および OAuth プロバイダーとして機能し、WordPress ウェブサイトへの安全なログインを保証します。 WordPressとAWS Cognitoの統合により、AWS Cognito OAuthを使用したログインプロセスが簡素化され、セキュリティが確保されます。このソリューションにより、従業員はWordPressサイトにアクセスできます。 シングルサインオン (SSO) AWS Cognito 認証情報を使用して、複数のパスワードを保存、記憶、リセットする必要がなくなります。AWS Cognito SSO 機能の提供に加えて、WordPress SSO プラグインは、Azure AD、Office 365、専門プロバイダーなどのさまざまな IDP にサポートを拡張し、マルチテナントログイン、ロールマッピング、ユーザープロファイル属性マッピングなどの堅牢な SSO 機能を提供します。機能の詳細な概要については、 WordPress OAuth シングル サインオン (SSO) プラグイン。WordPress で AWS Cognito シングルサインオン (SSO) を設定するには、以下の手順に従ってください。

WordPress Cognito 統合は Cognito SDK を使用し、ユーザーが登録フォームやパスワード リセット フォームに入力したり、WordPress Web サイトに直接ログインしたりできるようにします。
前提条件: ダウンロードとインストール
- WordPress インスタンスに管理者としてログインします。
- WordPress に移動します ダッシュボード -> プラグイン をクリックします。入力したコードが正しければ、MFAの設定は正常に完了します 新規追加.
- を検索 WordPress OAuth シングルサインオン (SSO) プラグインを選択してクリックします 今すぐインストール.
- インストールしたら、をクリックします アクティブにしましょう.
WordPress OAuth で AWS Cognito シングルサインオン (SSO) を設定する手順
ステップ 1: Amazon Cognito を OAuth プロバイダーとして設定する
- まず、に行きます アマゾンコンソール アカウントにサインアップ/ログインして、AWS Cognito を設定します。
- 検索する コグニート 会場は AWSサービス 以下に示すように検索バー。
- ソフトウェアの制限をクリック ユーザープールを作成する 新しいユーザープールを作成します。
- サインイン プロセス中に使用するユーザー プール内の属性を選択します。
- 強力なパスワードを設定してセキュリティ要件を構成します。 先に進んでください 「MFAなし」 ユーザーが単一の認証要素でのみサインインできるようにしたい場合は、このオプションを選択します。 MFA(多要素認証)を有効にする SMSメッセージが必要になりますが、Amazon SNSによって別途課金されます。詳細については、こちらをご覧ください。 こちらに設定します。 OK をクリックします。 次へ。
- 属性の構成 それは、 ユーザー登録の流れ。
- 必要に応じて、追加の属性を選択します。 クリック 次へ。
- ユーザープールがユーザーに電子メールメッセージを送信する方法を構成します。
- ユーザー プールの名前を次の場所にも入力します ホストされた認証ページチェック 「Cognito ホスト UI を使用する」。
- 次に、「ドメイン」セクションでドメインの種類を選択します。 「Cognito ドメインを使用する」。 Cognito アプリのドメイン名を入力します。
- 下 初期アプリクライアント セクション、アプリクライアントの名前を入力し、チェックボックスをオンにします クライアントシークレットを生成します。
- 今あなたを入力してください コールバック/リダイレクト URL クライアント側にあるminiOrangeプラグインから取得し、 許可されるコールバック URL テキストフィールド。 選択については、次の画像も参照してください。 認証フロー あなたのアプリのために。
- さあ、アンダー アプリクライアントの詳細設定。 選択する ID プロバイダー as Cognito ユーザープール & 選択する 認証コードの付与 下 OAuth 2.0 付与タイプ また選択する openID、メールアドレス、プロフィール の下のチェックボックス OpenID Connect のスコープ セクション(下の画像を参照してください)。 [次へ]ボタン 〜へ 保存 あなたの設定。
- 次に、要件の選択を確認します。 クリック ユーザープールの作成 選択内容を確認してユーザープールを作成します。
- ユーザープールが正常に作成されたら、 プール名を選択してください ユーザー作成を開始するには、プールのリストから選択します。
- に行きます [ユーザー]タブ、クリック ユーザーを作成。
- などの詳細を入力します。 ユーザー名、メールアドレス、パスワード。 をクリックしてください ユーザーを作成 〜へ 保存 詳細。
- ユーザーが正常に作成されたら、次のファイルのコピーが必要になります。 Cognitoドメイン, 顧客ID, クライアントシークレット。 「」に移動しますアプリの統合'セクションをコピーして、 ドメイン名 {ドメイン名}.auth.{リージョン名}.amazoncognito.com。 これは、エンドポイントフィールドに入力する必要があります。
miniOrange OAuth シングル サインオン (SSO) プラグイン内。 - 取得するため 顧客ID と クライアントシークレット、そのままでいてくださいアプリの統合' タブをクリックして、下にスクロールして 'アプリクライアントと分析' セクション。 アプリクライアント名をクリックして、 顧客ID と クライアントシークレット.













AWS フェデレーションを有効にしていて、ユーザーが特定の ID プロバイダー経由でのみ認証できるようにする場合は、ドロップダウン メニューから目的のプロバイダーまたは対象のプロバイダーを選択してください。









結論として、正常に設定することで、 OAuth プロバイダーとしての AWS Cognito、WordPress へのエンドユーザー向けのシームレスな AWS Cognito シングルサインオン (SSO) と認証が有効になりました。
ステップ2: WordPressをOAuthクライアントとして設定する
- AWS Cognito SSO
- グループマッピングを使用した AWS Cognito SSO(プレミアム)
ステップ3: ユーザー属性のマッピング
- ユーザーが AWS SSO を使用して WordPress にシングルサインオンできるようにするには、ユーザー属性マッピングが必須です。以下の設定を使用して、WordPress のユーザープロファイル属性を設定します。
- テスト構成にすべての値が表示されたら、次のページに進みます。 属性/役割のマッピング タブで、各ユーザーに固有のユーザー名に属性をマッピングします。また、firstname、lastnameなどの他の属性もマッピングします。 Save.
ユーザー属性の検索

ステップ 4: ロール マッピング [プレミアム]
- 役割マッピングを有効にする: ロール マッピングを有効にするには、グループ名属性をマッピングする必要があります。プロバイダー アプリケーションからロールを返す属性のリストから属性名を選択します。
例えば: 職種 - WordPress ロールをプロバイダー ロールに割り当てます。 プロバイダー アプリケーションに基づいて、WordPress ロールをプロバイダー ロールに割り当てることができます。アプリケーションに応じて、学生、教師、管理者などになります。グループ属性値の下にプロバイダー ロールを追加し、その前に WordPress ロールを割り当てます。
例えば、下の画像では、教師には管理者の役割が割り当てられ、生徒には貢献者の役割が割り当てられています。 - マッピングを保存すると、SSO 後にプロバイダー ロールに WordPress 管理者ロールが割り当てられます。
例: 上記の例のとおり、「教師」の役割を持つユーザーは WordPress の管理者として追加され、「学生」は投稿者として追加されます。


ステップ 5: サインイン設定
- シングルサインオン (SSO) 設定タブの設定は、シングルサインオン (SSO) のユーザーエクスペリエンスを定義します。WordPress ページに AWS Cognito ログインウィジェットを追加するには、以下の手順に従う必要があります。
- WordPress 5.7以下
- WordPressの5.8
- WordPress 5.9以上
結論として、正常に構成された後、 OAuth プロバイダーとしての AWS Cognito と OAuth クライアントとしての WordPress、ユーザーのためのスムーズで安全な認証プロセスを実現しました。AWS Cognito シングルサインオン (SSO) を使用すると、WordPress 環境内で堅牢なユーザーエクスペリエンスを確保できます。これにより、ユーザーは単一のログイン認証情報セットで複数のアプリケーションに簡単にアクセスできます。AWS Cognito OAuth を主要な認証ソリューションとして統合することで、ユーザーは既存の AWS Cognito 認証情報を使用して WordPress アカウントに安全にログインできます。
エラーのトラブルシューティング
詳しくはこちら➔無効なリクエスト
この問題を解決するには、正しい設定を行ってください。 認可エンドポイント プラグインでエンドポイントの正しい形式を確認するには、 こちら.
無効なスコープ
正しく入力したかどうかを確認してください スコープ プラグインで。 次の手順を確認します この セットアップガイド。
リダイレクト_不一致
この問題を解決するには、正しい設定を行ってください。 リダイレクトURL Cognito Developerアプリケーションでプラグインからインストールします。セットアップガイドの手順を参照してください。 こちら.
無効なクライアント
この問題を解決するには、正しい設定を行ってください。 クライアントシークレット プラグインで。 参照できます この セットアップ ガイドから正しいクライアント シークレットを構成する手順。
よくあるご質問
AWS Cognito SSO 時に Cognito ページの「今すぐサインアップ」オプションを無効にしたいのですが?
Cognito のユーザー プールに移動します。[一般設定] で、[ポリシー] に移動します。[管理者のみがユーザーを作成できるようにする] オプションを選択し、[変更を保存] を選択します。 続きを読む
AWS Cognito を OAuth プロバイダーとして設定しているときに認証フローが有効になっていません
このエラーは、Cognito ユーザー プールでアプリ クライアントを構成するときに、「認証用の管理 API のユーザー名パスワード認証」および「ユーザー名パスワードベースの認証」のチェックボックスを有効にしなかったために発生した可能性があります。 続きを読む