メインコンテンツまでスキップ
新しい友達のために:

Logto は、モダンなアプリや SaaS 製品向けに設計された Auth0 の代替です。 Cloudオープンソース の両方のサービスを提供し、アイデンティティと管理 (IAM) システムを迅速に立ち上げるのに役立ちます。認証 (Authentication)、認可 (Authorization)、マルチテナント管理を すべて一つに まとめて楽しんでください。

Logto Cloud で無料の開発テナントから始めることをお勧めします。これにより、すべての機能を簡単に探索できます。

この記事では、WordPress プラグインLogto を使用して、Facebook サインイン体験(ユーザー認証 (Authentication))を迅速に構築する手順を説明します。

前提条件

Logto でアプリケーションを作成する

Logto は OpenID Connect (OIDC) 認証 (Authentication) と OAuth 2.0 認可 (Authorization) に基づいています。これは、複数のアプリケーション間でのフェデレーテッドアイデンティティ管理をサポートし、一般的にシングルサインオン (SSO) と呼ばれます。

あなたの 従来のウェブ アプリケーションを作成するには、次の手順に従ってください:

  1. Logto コンソール を開きます。「Get started」セクションで、「View all」リンクをクリックしてアプリケーションフレームワークのリストを開きます。あるいは、Logto Console > Applications に移動し、「Create application」ボタンをクリックします。 Get started
  2. 開いたモーダルで、左側のクイックフィルターチェックボックスを使用して、利用可能なすべての "従来のウェブ" フレームワークをフィルタリングするか、"従来のウェブ" セクションをクリックします。"WordPress" フレームワークカードをクリックして、アプリケーションの作成を開始します。 Frameworks
  3. アプリケーション名を入力します。例:「Bookstore」と入力し、「Create application」をクリックします。

🎉 タダーン!Logto で最初のアプリケーションを作成しました。詳細な統合ガイドを含むお祝いページが表示されます。ガイドに従って、アプリケーションでの体験を確認してください。

WordPress SDK を統合する

プラグインのインストール

  1. プラグイン > 新規追加 に移動します。
  2. 「Logto」を検索するか、検索ボックスに https://wordpress.org/plugins/logto/ を入力します。
  3. 今すぐインストール をクリックします。
  4. 有効化 をクリックします。

プラグインの設定

これで、WordPress 管理パネルのサイドバーに Logto メニューが表示されるはずです。Logto > 設定 をクリックしてプラグインを設定します。

注記:

プラグインを設定する前に、Logto コンソールで 従来のウェブ アプリケーションを作成しておく必要があります。まだ作成していない場合は、Logto をアプリケーションに統合する を参照してください。

プラグインを開始するための最小限の設定は次のとおりです:

  • Logto エンドポイント:Logto テナントのエンドポイント。
  • アプリ ID:Logto アプリケーションのアプリ ID。
  • アプリシークレット:Logto アプリケーションの有効なアプリシークレットのいずれか。

すべての値は Logto コンソールのアプリケーション詳細ページで見つけることができます。

値を入力したら、変更を保存 をクリックします(ボタンが見つからない場合はページの下までスクロールしてください)。

リダイレクト URI の設定

リダイレクト URI は、ユーザーが認証された後に Logto がリダイレクトする URL です。また、サインアウト後のリダイレクト URI は、ユーザーがログアウトした後に Logto がリダイレクトする URL です。

サインインフローを説明する非規範的なシーケンス図はこちらです:

サインアウトフローがどのように見えるかを示す非規範的なシーケンス図はこちらです:

リダイレクトが必要な理由について詳しくは、サインイン体験の説明 を参照してください。

この場合、Logto コンソールで両方のリダイレクト URI を設定する必要があります。リダイレクト URI を見つけるには、WordPress 管理パネルの Logto > 設定 ページに移動します。リダイレクト URIサインアウト後のリダイレクト URI フィールドが表示されます。

  1. リダイレクト URIサインアウト後のリダイレクト URI の値をコピーし、Logto コンソールの リダイレクト URIサインアウト後のリダイレクト URI フィールドに貼り付けます。
  2. Logto コンソールで 変更を保存 をクリックします。

チェックポイント:WordPress ウェブサイトのテスト

これで、WordPress ウェブサイトで Logto の統合をテストできます:

  1. 必要に応じてシークレットブラウザウィンドウを開きます。
  2. WordPress ウェブサイトを訪問し、該当する場合は ログイン リンクをクリックするか、直接ログインページ(例:https://example.com/wp-login.php)にアクセスします。
  3. ページは Logto サインインページにリダイレクトされるはずです。
  4. サインインまたはサインアッププロセスを完了します。
  5. 認証が成功すると、WordPress ウェブサイトに戻り、自動的にログインされるはずです。
  6. ログアウト リンクをクリックして WordPress ウェブサイトからログアウトします。
  7. Logto サインアウトページにリダイレクトされ、その後 WordPress ウェブサイトに戻るはずです。
  8. WordPress ウェブサイトからログアウトされているはずです。

WordPress プラグインの設定について詳しく知るには、 WordPress クイックスタート を参照してください。

Facebook コネクターを追加する

迅速なサインインを有効にし、ユーザーコンバージョンを向上させるために、アイデンティティプロバイダー (IdP) として WordPress を接続します。Logto ソーシャルコネクターは、いくつかのパラメーター入力を許可することで、この接続を数分で確立するのに役立ちます。

ソーシャルコネクターを追加するには、次の手順に従ってください:

  1. Console > Connectors > Social Connectors に移動します。
  2. 「Add social connector」をクリックし、「Facebook」を選択します。
  3. README ガイドに従い、必要なフィールドを完了し、設定をカスタマイズします。
Connector tab
注記:

インプレースコネクターガイドに従っている場合は、次のセクションをスキップできます。

Facebook login を設定する

ステップ 1: Facebook App Dashboard でアプリをセットアップする

Facebook を認証 (Authentication) プロバイダーとして利用する前に、Facebook デベロッパープラットフォームでアプリをセットアップし、OAuth 2.0 資格情報を取得する必要があります。

  1. まだアカウントがない場合は、 Facebook デベロッパーとして登録 してください。
  2. アプリ ページにアクセスします。
  3. 既存のアプリをクリックするか、必要に応じて 新しいアプリを作成 します。
ヒント:

ユースケースは、アプリが Meta とどのようにやり取りするかの主要な方法であり、アプリで利用可能な API、機能、権限、プロダクトを決定します。ソーシャル認証 (Authentication) のみ(メールアドレスと public_profile の取得)が必要な場合は「Authentication and request data from users with Facebook Login」を選択してください。Facebook API へのアクセスが必要な場合は、希望するユースケースを選択してください。ほとんどのユースケースは、アプリ作成後に「Facebook Login for business」の統合もサポートしています。

  1. アプリ作成後、アプリダッシュボードページで Use cases > Facebook Login > Settings または Facebook Login for business > Settings に移動します。
  2. Valid OAuth Redirect URIs に Logto の Callback URI を入力します(Logto の Facebook コネクターからコピーしてください)。ユーザーが Facebook でサインインした後、ここに認可コード付きでリダイレクトされ、Logto が認証 (Authentication) を完了します。
  3. Use cases に移動し、ユースケースの Customize をクリックしてスコープを追加します。Logto で Facebook サインインを実装するには emailpublic_profile の追加を推奨します(必須)。

ステップ 2: クライアント資格情報で Logto コネクターをセットアップする

  1. Facebook App Dashboard で、サイドバーの App settings > Basic をクリックします。
  2. パネルに App IDApp secret が表示されます。
  3. App secret 入力欄の横にある Show ボタンをクリックして内容を表示し、コピーします。
  4. Logto の Facebook コネクター設定を行います:
    • clientId フィールドに App ID を入力します。
    • clientSecret フィールドに App secret を入力します。
    • Logto で Save and Done をクリックし、アイデンティティシステムと Facebook を接続します。

ステップ 3: スコープを設定する

スコープは、アプリがユーザーから要求する権限を定義し、Facebook アカウントからどのプライベートデータにアクセスできるかを制御します。

Facebook App Dashboard でスコープを設定する

  1. Facebook App Dashboard > Use cases に移動し、Customize ボタンをクリックします。
  2. アプリが必要とするスコープのみを追加します。ユーザーは Facebook の同意画面でこれらの権限を確認し、承認します:
    • 認証 (Authentication) 用(必須)emailpublic_profile
    • API アクセス用(任意):アプリが必要とする追加スコープ(例:Threads API へのアクセスには threads_content_publishthreads_read_replies など)。利用可能なサービスは Meta Developer Documentation を参照してください。

Logto でスコープを設定する

ニーズに応じて、以下のいずれかの方法を選択してください:

オプション 1: 追加の API スコープが不要な場合

  • Logto の Facebook コネクターの Scopes フィールドを空欄のままにします。
  • デフォルトのスコープ email public_profile がリクエストされ、Logto が基本的なユーザー情報を正しく取得できます。

オプション 2: サインイン時に追加スコープをリクエストする場合

  • 必要なすべてのスコープを Scopes フィールドにスペース区切りで入力します。
  • ここに入力したスコープがデフォルトを上書きするため、必ず認証 (Authentication) 用スコープ email public_profile も含めてください。

オプション 3: 後からインクリメンタルスコープをリクエストする場合

  • ユーザーがサインインした後、フェデレーテッドソーシャル認可 (Authorization) フローを再実行し、ユーザーの保存済みトークンセットを更新することで、必要に応じて追加スコープをリクエストできます。
  • これらの追加スコープは Logto の Facebook コネクターの Scopes フィールドに入力する必要はなく、Logto の Social Verification API を通じて実現できます。

これらの手順に従うことで、Logto Facebook コネクターはアプリに必要な権限のみをリクエストします。

ヒント:

アプリが Facebook API へのアクセスやアクション実行のためにこれらのスコープをリクエストする場合は、Logto Facebook コネクターで Store tokens for persistent API access を有効にしてください。詳細は次のセクションを参照してください。

ステップ 4: 一般設定

Facebook への接続を妨げることはありませんが、エンドユーザーの認証 (Authentication) 体験に影響する可能性のある一般的な設定を紹介します。

プロフィール情報の同期

Facebook コネクターでは、ユーザー名やアバターなどのプロフィール情報の同期ポリシーを設定できます。以下から選択してください:

  • サインアップ時のみ同期:ユーザーが初めてサインインしたときにプロフィール情報を一度だけ取得します。
  • サインイン時に常に同期:ユーザーがサインインするたびにプロフィール情報を更新します。

Facebook API へのアクセス用トークンの保存(任意)

Facebook API へのアクセスやユーザー認可によるアクション実行(ソーシャルサインインまたはアカウント連携経由)を行いたい場合、Logto は特定の API スコープを取得し、トークンを保存する必要があります。

  1. 上記の手順に従って必要なスコープを追加します。
  2. Logto Facebook コネクターで Store tokens for persistent API access を有効にします。Logto は Facebook アクセストークンを Secret Vault に安全に保存します。
注記:

Facebook はリフレッシュトークンを提供していません。ただし、トークン保存が有効な場合、Logto はユーザー認証 (Authentication) 時に自動的に長期間有効なアクセストークン(60日間)をリクエストします。この期間中、ユーザーは手動でアクセストークンを取り消すことができますが、そうでなければ Facebook API へのアクセスに再認可は不要です。注意:offline_accessScope フィールドに追加しないでください。エラーの原因となる場合があります。

ステップ 5: Facebook のテストユーザーでサインインをテストする(任意)

テスト、開発者、管理者ユーザーアカウントを使ってアプリでのサインインをテストできます。また、アプリを公開して任意の Facebook ユーザーがサインインできるようにすることも可能です。

  1. Facebook App Dashboard で、サイドバーの App roles > Test Users をクリックします。
  2. Create test users ボタンをクリックしてテストユーザーを作成します。
  3. 既存のテストユーザーの Options ボタンをクリックすると、「名前とパスワードの変更」などの操作が可能です。

ステップ 6: Facebook サインイン設定を公開する

通常、テスト、管理者、開発者ユーザーのみがアプリでサインインできます。プロダクション環境で一般の Facebook ユーザーがアプリでサインインできるようにするには、アプリを公開する必要があります。

  1. Facebook App Dashboard で、サイドバーの Publish をクリックします。
  2. 必要に応じて Privacy Policy URLUser data deletion フィールドを入力します。
  3. 右下の Save changes ボタンをクリックします。
  4. アプリ上部バーの Live スイッチボタンをクリックします。

設定を保存する

Logto コネクター設定エリアで必要な値をすべて記入したことを確認してください。「保存して完了」または「変更を保存」をクリックすると、Facebook コネクターが利用可能になります。

サインイン体験で Facebook コネクターを有効にする

ソーシャルコネクターを正常に作成したら、サインイン体験で「Facebook で続行」ボタンとして有効にすることができます。

  1. Console > サインイン体験 > サインアップとサインイン に移動します。
  2. (オプション)ソーシャルログインのみが必要な場合は、サインアップ識別子に「該当なし」を選択します。
  3. 設定済みの Facebook コネクターを「ソーシャルサインイン」セクションに追加します。
サインイン体験タブ

テストと検証

WordPress プラグイン アプリに戻ります。これで Facebook を使用してサインインできるはずです。お楽しみください!

さらなる読み物

エンドユーザーフロー:Logto は、MFA やエンタープライズシングルサインオン (SSO) を含む即時使用可能な認証 (Authentication) フローを提供し、アカウント設定、セキュリティ検証、マルチテナント体験の柔軟な実装のための強力な API を備えています。

認可 (Authorization):認可 (Authorization) は、ユーザーが認証 (Authentication) された後に行えるアクションやアクセスできるリソースを定義します。ネイティブおよびシングルページアプリケーションの API を保護し、ロールベースのアクセス制御 (RBAC) を実装する方法を探ります。

組織 (Organizations):特にマルチテナント SaaS や B2B アプリで効果的な組織機能は、テナントの作成、メンバー管理、組織レベルの RBAC、およびジャストインタイムプロビジョニングを可能にします。

顧客 IAM シリーズ:顧客(または消費者)アイデンティティとアクセス管理に関する連続ブログ投稿で、101 から高度なトピックまでを網羅しています。