Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【ITニュース解説】Add Social & Enterprise SSO to WordPress (Even on Static Sites) with Amazon Cognito + Gatey

2025年09月14日に「Dev.to」が公開したITニュース「Add Social & Enterprise SSO to WordPress (Even on Static Sites) with Amazon Cognito + Gatey」について初心者にもわかりやすく解説しています。

作成日: 更新日:

ITニュース概要

WordPressを静的サイト化するとログイン機能が使えない問題を、Amazon CognitoとGateyが解決する。Googleなどのソーシャル認証や企業のシステムによるシングルサインオン(SSO)を導入でき、静的サイトでも安全なログインを実現する。WordPressに秘密情報を保存しないため、セキュリティも高い。

ITニュース解説

WordPressは広く使われているウェブサイト作成ツールだが、その認証システムには現代のウェブサービスが求める高度な機能が不足している場合がある。特に、多くのサービスで利用されている「シングルサインオン(SSO)」の機能や、WordPressサイトを「静的サイト」として運用する際に課題が生じる。この記事は、これらの課題を解決し、WordPressに安全で便利なSSOを導入する方法について解説している。

まず、WordPressが持つ認証の課題について見ていこう。WordPressには元々、ユーザー名とパスワードを使った独自のログインシステムが組み込まれている。しかし、近年ではGoogleやFacebookのアカウントを使って様々なサービスにログインしたり、企業内で使っている一つのアカウントで複数の社内システムにアクセスしたりするSSOが一般的になっている。これらのSSOを実現するためには、「OIDC(OpenID Connect)」や「SAML(Security Assertion Markup Language)」といった最新の認証技術が必要だが、WordPressはこれらのプロトコルに直接対応するようには作られていない。そのため、これらの高度な認証機能をWordPressに直接組み込むのは難しい。

さらに大きな問題は、WordPressサイトを「静的サイト」として運用する場合に発生する。静的サイトとは、サーバー側で複雑な処理を行わず、事前に作成されたHTMLファイルなどをそのままユーザーに届けるタイプのウェブサイトのことだ。例えば、Amazon S3というクラウドストレージにWordPressから生成した静的なファイルを置き、Amazon CloudFrontという高速配信サービスを使って公開する構成はよく用いられる。しかし、この方法で運用すると、WordPressの元々のログインシステムはサーバー側で動的な処理を必要とするため、完全に機能しなくなってしまう。結果として、静的サイト化したWordPressではユーザーがログインできなくなり、会員向けのコンテンツ提供などが不可能になるという状況に陥る。

ここで登場するのが、シングルサインオン(SSO)という仕組みだ。SSOは、一度ログインするだけで、同じサービスグループ内の複数のアプリケーションやウェブサイトに再ログインすることなくアクセスできるようになる便利な機能である。例えば、GoogleアカウントでGmailにログインした後、そのままGoogleドキュメントやYouTubeにもログインなしでアクセスできるのはSSOのおかげだ。SSOには、GoogleやFacebook、Appleなどの既存アカウントを使う「ソーシャルSSO」と、企業内で使う特定のアカウントで複数の社内システムにログインできる「エンタープライズSSO」の二種類がある。OIDCやSAMLは、これらSSOを実現するための標準的な通信プロトコルだと理解しておくと良い。

この記事では、上述のWordPressの認証に関する課題を解決するために、Amazon CognitoとGateyという二つのツールを組み合わせる方法を提案している。

まず「Amazon Cognito」は、Amazon Web Services(AWS)が提供する認証・認可サービスである。これは、ウェブアプリケーションやモバイルアプリケーションにおけるユーザーの登録、ログイン、パスワード管理といった認証基盤をAWSが代行してくれるサービスだ。 Cognitoを使うと、以下の機能が利用できる。 一つ目に、ユーザープールの設定とホストUIだ。ユーザープールは、ユーザーアカウント情報を安全に管理する場所であり、ここで認証処理が行われる。また、「ホストUI」とは、Cognitoが提供する既製のログイン画面やユーザー登録画面のことだ。これにより、開発者は自前でこれらの画面をデザイン・実装する手間を省くことができ、カスタマイズも可能だ。記事では「クライアントシークレット不要、SPAアプリタイプ」とあり、これはセキュリティを考慮した設定方法であり、Webブラウザ上で動作するシングルページアプリケーション(SPA)などでも安全に利用できることを意味する。 二つ目に、ソーシャルIDプロバイダーの連携が可能だ。Google、Facebook、Apple、Amazonといった主要なサービスのログイン機能をCognitoと連携できるため、WordPressのユーザーは普段使い慣れている既存のアカウントでサイトに手軽にログインできるようになる。 三つ目に、エンタープライズIDプロバイダーの追加だ。企業で利用されている認証システム(Okta、Azure AD、Auth0、Pingなど)をOIDCやSAMLプロトコルを通じてCognitoと連携できる。これにより、従業員は会社のシングルアカウントを使ってWordPressサイトにアクセスできるようになり、管理の簡素化と利便性向上が図れる。

次に「Gatey」は、Amazon CognitoとWordPressを「つなぐ」役割を果たすツールである。Amazon Cognitoが高度な認証基盤を提供する一方で、WordPressはOIDCやSAMLを直接理解できないというギャップが存在する。Gateyはこのギャップを埋め、Cognitoで行われた認証結果をWordPressが適切に受け取れるようにする。具体的には、Gateyを通じてCognitoのユーザープールや、その他のプロバイダー設定をWordPressに結びつける。これにより、WordPress本体に複雑な認証ロジックを実装することなく、Cognitoが提供する強力なSSO機能を活用できるようになるのだ。

このAmazon CognitoとGateyを組み合わせたソリューションは、いくつかの大きなメリットをもたらす。 最大のメリットは、静的サイトでもSSOが機能する点だ。S3とCloudFrontで運用されているWordPressの静的サイトであっても、この方法を使えばユーザーがソーシャルログインやエンタープライズSSOを通じてサイトにログインできるようになる。 また、セキュリティの向上も重要なメリットである。ユーザーのパスワードなどの機密性の高い認証情報はWordPress本体ではなく、Amazon Cognitoで安全に管理されるため、WordPress側でのセキュリティリスクが軽減される。 さらに、ログイン画面の作成や、多様なSSOの実装は通常非常に手間のかかる作業だが、CognitoとGateyを利用することで開発の手間を大幅に削減できる。 AWSのサービスであるCognitoは、多くのユーザーが同時にアクセスしても安定して動作するよう設計されており、スケーラビリティと信頼性も高い。 オプションとして、認証されたユーザーがAWSの他のサービス(APIなど)を直接呼び出せるようにIAM(Identity and Access Management)と連携する設定も可能だ。これにより、より高度なアプリケーション連携やパーソナライズされた体験を提供できるようになる。

まとめると、WordPressはその手軽さから多くのウェブサイト構築に利用されているが、現代のウェブサービスが求めるSSO機能や静的サイト運用における認証の課題を抱えている。Amazon CognitoとGateyの組み合わせは、これらの課題を見事に解決し、WordPressに安全で拡張性の高い認証システムを導入するための強力なソリューションとなる。この方法を理解することは、システムエンジニアを目指す上で、認証・認可の仕組みやクラウドサービスを活用したモダンなシステム構築手法を学ぶ良い機会となるだろう。

関連コンテンツ

関連IT用語

【ITニュース解説】Add Social & Enterprise SSO to WordPress (Even on Static Sites) with Amazon Cognito + Gatey | いっしー@Webエンジニア