Logto は、モダンなアプリや SaaS 製品向けに設計された Auth0 の代替です。 Cloud と オープンソース の両方のサービスを提供し、アイデンティティと管理 (IAM) システムを迅速に立ち上げるのに役立ちます。認証 (Authentication)、認可 (Authorization)、マルチテナント管理を すべて一つに まとめて楽しんでください。
Logto Cloud で無料の開発テナントから始めることをお勧めします。これにより、すべての機能を簡単に探索できます。
この記事では、WordPress プラグイン と Logto を使用して、SendGrid サインイン体験(ユーザー認証 (Authentication))を迅速に構築する手順を説明します。
前提条件
- 稼働中の Logto インスタンス。紹介ページ をチェックして始めてください。
- WordPress プラグイン の基本的な知識。
- 使用可能な SendGrid アカウント。
Logto にアプリケーションを作成する
Logto は OpenID Connect (OIDC) 認証 (Authentication) と OAuth 2.0 認可 (Authorization) に基づいています。これは、複数のアプリケーション間でのフェデレーテッドアイデンティティ管理をサポートし、一般的にシングルサインオン (SSO) と呼ばれます。
あなたの 従来のウェブ アプリケーションを作成するには、次の手順に従ってください:
- Logto コンソール を開きます。「Get started」セクションで、「View all」リンクをクリックしてアプリケーションフレームワークのリストを開きます。あるいは、Logto Console > Applications に移動し、「Create application」ボタンをクリックします。
- 開いたモーダルで、左側のクイックフィルターチェックボックスを使用して、利用可能なすべての "従来のウェブ" フレームワークをフィルタリングするか、"従来のウェブ" セクションをクリックします。"WordPress" フレームワークカードをクリックして、アプリケーションの作成を開始します。
- アプリケーション名を入力します。例:「Bookstore」と入力し、「Create application」をクリックします。
🎉 タダーン!Logto で最初のアプリケーションを作成しました。詳細な統合ガイドを含むお祝いページが表示されます。ガイドに従って、アプリケーションでの体験を確認してください。
Logto SDK を統合する
プラグインのインストール
- WordPress 管理パネルから
- アップロードから
- プラグイン > 新規追加 に移動します。
- 「Logto」を検索するか、検索ボックスに https://wordpress.org/plugins/logto/ を入力します。
- 今すぐインストール をクリックします。
- 有効化 をクリックします。
- 次のリンクのいずれかから Logto WordPress プラグインをダウンロードします:
- 最新リリース:
logto-plugin-<version>.zip形式のファイルをダウンロードします。 - WordPress プラグインディレクトリ:ダウンロード ボタンをクリックしてファイルをダウンロードします。
- 最新リリース:
- プラグインの ZIP ファイルをダウンロードします。
- WordPress 管理パネルで プラグイン > 新規追加 に移動します。
- プラグインのアップロード をクリックします。
- ダウンロードした ZIP ファイルを選択し、今すぐインストール をクリックします。
- 有効化 をクリックします。
プラグインの設定
これで、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 フィールドが表示されます。
- リダイレクト URI と サインアウト後のリダイレクト URI の値をコピーし、Logto コンソールの リダイレクト URI と サインアウト後のリダイレクト URI フィールドに貼り付けます。
- Logto コンソールで 変更を保存 をクリックします。
チェックポイント:WordPress ウェブサイトのテスト
これで、WordPress ウェブサイトで Logto の統合をテストできます:
- 必要に応じてシークレットブラウザウィンドウを開きます。
- WordPress ウェブサイトを訪問し、該当する場合は ログイン リンクをクリックするか、直接ログインページ(例:
https://example.com/wp-login.php)にアクセスします。 - ページは Logto サインインページにリダイレクトされるはずです。
- サインインまたはサインアッププロセスを完了します。
- 認証が成功すると、WordPress ウェブサイトに戻り、自動的にログインされるはずです。
- ログアウト リンクをクリックして WordPress ウェブサイトからログアウトします。
- Logto サインアウトページにリダイレクトされ、その後 WordPress ウェブサイトに戻るはずです。
- WordPress ウェブサイトからログアウトされているはずです。
WordPress プラグインの設定について詳しく知るには、 WordPress クイックスタート を参照してください。
SendGrid コネクターを追加する
Email コネクターは、認証 (Authentication) のためにワンタイムパスワード (OTP) を送信するための方法です。これは、Email ベースの登録、サインイン、二要素認証 (2FA)、アカウント回復を含むパスワードレス認証 (Authentication) をサポートするために Email address の確認を可能にします。 Logto の Email コネクターを使用すると、数分でこれを設定できます。
Email コネクターを追加するには、次の手順に従ってください:
- Console > Connector > Email and SMS connectors に移動します。
- 新しい Email コネクターを追加するには、「Set up」ボタンをクリックし、「SendGrid」を選択します。
- 選択したプロバイダーの README ドキュメントを確認します。
- 「Parameter Configuration」セクションで設定フィールドを完了します。
- JSON エディターを使用して Email テンプレートをカスタマイズします。
- Email address に確認コードを送信して設定をテストします。
インプレースコネクターガイドに従っている場合は、次のセクションをスキップできます。
SendGrid email connector を設定する
SendGrid アカウントの登録
SendGrid のウェブサイト で新しいアカウントを作成してください。すでにアカウントをお持ちの場合は、このステップをスキップできます。
送信者の認証
SendGrid コンソールページ にアクセスし、SendGrid アカウントでサインインします。
送信者とは、認証コードメールの送信元アドレスを示します。SendGrid のメールサーバー経由でメールを送信するには、少なくとも 1 つの送信者を認証する必要があります。
SendGrid コンソールページ から、サイドバーの「Settings」→「Sender Authentication」へ進みます。
ドメイン認証 (Domain Authentication) は推奨されますが、必須ではありません。「Authenticate Your Domain」カードの「Get started」をクリックし、案内に従って送信者を SendGrid にリンクし認証できます。
パネル内の「Verify a Single Sender」ボタンをクリックすると、送信者を作成するために必要な情報を入力するフォームが表示されます。案内に従い、すべての項目を入力して「Create」ボタンを押してください。
シングル送信者が作成されると、認証用リンクが記載されたメールが送信者のメールアドレスに届きます。メールボックスを確認し、認証メールを見つけて、メール内のリンクをクリックしてシングル送信者の認証を完了してください。これで、認証済みの送信者を使って SendGrid コネクター経由でメールを送信できるようになります。
API キーの作成
SendGrid コンソールページ から始め、「Settings」→「API Keys」へ進みます。
API Keys ページ右上の「Create API Key」をクリックします。API キーの名前を入力し、用途に応じて「API Key Permission」をカスタマイズしてください。メール送信にこの API キーを使用するには、グローバルな Full Access または Mail Send へのフルアクセスを持つ Restricted Access が必要です。
Create API Key プロセスが完了すると、API キーが画面に表示されます。この API キーはこのタイミングでしか確認できないため、安全な場所に保存してください。
コネクターの設定
「API キーの作成」セクションで作成した API キーを apiKey フィールドに入力します。
送信者の From Address と Nickname を fromEmail および fromName フィールドに入力します。送信者の詳細は "Sender Management" ページ で確認できます。fromName は任意項目ですので、省略可能です。
用途に応じて複数の SendGrid メールコネクターテンプレートを追加できます。以下は単一テンプレートを追加する例です:
- メールのタイトルとなる
subjectフィールドを入力します。 - 任意の文字列内容を
contentフィールドに入力します。ランダム認証コード用の{{code}}プレースホルダーを忘れずに残してください。 - 用途に応じて
usageTypeフィールドにRegister、SignIn、ForgotPassword、Genericのいずれかを入力します。 - 内容の種類に応じて
typeフィールドにtext/plainまたはtext/htmlを入力します。
すべてのユーザーフローを有効にするには、Register、SignIn、ForgotPassword、Generic の usageType を持つテンプレートが必要です。
以下は SendGrid コネクターテンプレート JSON の例です。
[
{
"subject": "<register-template-subject>",
"content": "<Logto: Your verification code is {{code}}. (register template)>",
"usageType": "Register",
"type": "text/plain",
},
{
"subject": "<sign-in-template-subject>",
"content": "<Logto: Your verification code is {{code}}. (sign-in template)>",
"usageType": "SignIn",
"type": "text/plain",
},
{
"subject": "<forgot-password-template-subject>",
"content": "<Logto: Your verification code is {{code}}. (forgot-password template)>",
"usageType": "ForgotPassword",
"type": "text/plain",
},
{
"subject": "<generic-template-subject>",
"content": "<Logto: Your verification code is {{code}}. (generic template)>",
"usageType": "Generic",
"type": "text/plain",
},
]
SendGrid メールコネクターのテスト
メールアドレスを入力し、「Send」をクリックすることで、「Save and Done」前に設定が機能するかどうかを確認できます。
以上です。サインアップ / サインインでコネクターを有効化 するのを忘れずに。
設定タイプ
| 名前 | 型 |
|---|---|
| apiKey | string |
| fromEmail | string |
| fromName | string (OPTIONAL) |
| templates | Template[] |
| テンプレートプロパティ | 型 | 列挙値 |
|---|---|---|
| subject | string | N/A |
| content | string | N/A |
| usageType | enum string | 'Register' / 'SignIn' / 'ForgotPassword' / 'Generic' |
| type | enum string | 'text/plain' / 'text/html' |
設定を保存する
Logto コネクター設定エリアで必要な値をすべて記入したことを確認してください。「保存して完了」または「変更を保存」をクリックすると、SendGrid コネクターが利用可能になります。
サインイン体験で SendGrid コネクターを有効にする
コネクターを正常に作成したら、電話番号ベースのパスワードレスログインと登録を有効にできます。
- コンソール > サインイン体験 > サインアップとサインイン に移動します。
- サインアップ方法を設定します(オプション):
- サインアップ識別子として "Email address" または "Email or phone number" を選択します。
- "Verify at sign-up" は強制的に有効化されます。登録時に "Create a password" を有効にすることもできます。
- サインイン方法を設定します:
- サインイン識別子の一つとして Email address を選択します。複数の利用可能な識別子(メール、電話番号、ユーザー名)を提供できます。
- 認証 (Authentication) 要素として "Verification code" および / または "Password" を選択します。
- "Save changes" をクリックし、"Live preview" でテストします。
OTP を使用した登録とログインに加えて、パスワードの回復や ベースのセキュリティ検証を有効にし、Email address をプロファイルにリンクすることもできます。詳細については、エンドユーザーフロー を参照してください。
テストと検証
WordPress プラグイン アプリに戻ります。これで SendGrid を使用してサインインできるはずです。お楽しみください!
さらなる読み物
エンドユーザーフロー:Logto は、MFA やエンタープライズシングルサインオン (SSO) を含む即時使用可能な認証 (Authentication) フローを提供し、アカウント設定、セキュリティ検証、マルチテナント体験の柔軟な実装のための強力な API を備えています。
認可 (Authorization):認可 (Authorization) は、ユーザーが認証 (Authentication) された後に行えるアクションやアクセスできるリソースを定義します。ネイティブおよびシングルページアプリケーションの API を保護し、ロールベースのアクセス制御 (RBAC) を実装する方法を探ります。
組織 (Organizations):特にマルチテナント SaaS や B2B アプリで効果的な組織機能は、テナントの作成、メンバー管理、組織レベルの RBAC、およびジャストインタイムプロビジョニングを可能にします。
顧客 IAM シリーズ:顧客(または消費者)アイデンティティとアクセス管理に関する連続ブログ投稿で、101 から高度なトピックまでを網羅しています。