Encore アプリケーションで Logto を使用する方法
Encore バックエンドアプリケーションで Logto を使用してユーザー認証を行う方法を学びます。このガイドでは、Go バックエンドを Logto と統合する方法を紹介します。
Encore は、製品レベルの API やマイクロサービスを簡単に構築できるバックエンド開発プラットフォームです。
Logto は、モダンな Auth0 の代替で、数分でサインイン体験とユーザーアイデンティティを構築するのに役立ちます。特に Encore で構築された API サービスを保護するのに適しています。
このガイドでは、Encore アプリケーションと Logto を統合して、安全なユーザー認証を実装し、API エンドポイントを保護する方法を示します。
Logto の設定
Encore と統合を始める前に、Logto でいくつかの設定を行う必要があります:
-
Logto Cloud でアカウントを作成します(まだお持ちでない場合)。
-
Logto Console で API リソースを作成します。これはあなたの Encore API サービスを表します。
- Logto Console の「API Resources」に移動し、新しい API を作成します。
- 名前と API 識別子を設定します(例:
https://api.encoreapp.com
)。 - API リソース詳細ページで API 識別子をメモします。後で必要になります。
- フロントエンドアプリケーションのためにアプリケーションを作成します。
- Logto Console の「Applications」に移動します。
- お使いのフロントエンドフレームワークに応じて新しいアプリケーションを作成します(例として React を使用していますが、任意のシングルページアプリケーション (SPA) またはネイティブアプリを作成できます)。
- (オプションで、後ほど説明します)Logto をフロントエンドアプリケーションと統合します。Logto Console のガイドに従ってください。
- アプリケーション詳細ページでアプリケーション ID と発行者 URL をメモします。これらも後で必要になります。
Encore API サービスの認証ハンドラーの設定
次に、Encore アプリケーションで認証を実装します。Encore の組み込み auth handler を使用して、Logto の JWT トークンを検証します。
Encore アプリケーションに以下の2つのモジュールを追加します:
auth/auth.go
を作成し、以下のコードを追加します:
そして、この認証ハンドラーを使って API エンドポイントを保護できます:
フロントエンド
Encore API サービスでの作業が完了しました。次に、フロントエンドアプリケーションで Logto を統合する必要があります。
Logto Quick start ページで使用しているフレームワークを選択し、フロントエンドアプリケーションで Logto を統合します。このガイドでは React を例として使用します。
React アプリケーションへの認証追加 ガイドを参照し、React アプリケーションで Logto を統合する方法を学びます。この例では、Integration セクションまでを実行するだけで結構です。その後、フロントエンドアプリケーションが Logto から Encore API へのアクセス トークンを取得する方法を示します。
まず、Encore アプリで使用される API リソースを resources
フィールドに追加して LogtoConfig
を更新します。これは、この API リソース (Encore API) のためにアクセストークンを要求することを Logto に伝えます。
LogtoConfig
を更新した後、ユーザーが既にサインインしている場合、新しい LogtoConfig
設定が有効になるようにサインアウトして再度サインインする必要があります。
ユーザーがログインすると、Logto React SDK が提供する getAccessToken
メソッドを使用して、特定の API リソースへのアクセス トークンを取得できます。例えば、Encore API にアクセスするには、https://api.encoreapp.com
を API リソース 識別子として使用します。
その後、このアクセス トークンをリクエスト ヘッダーの Authorization
フィールドに追加し、後続のリクエストで使用します。
これで、Encore アプリケーションとの Logto の統合が正常に完了しました。
もっと探求する
Encore でさらに多くの Logto 機能を使用し たい場合は、次のリンクを参照してください:
- Logto の カスタム トークン クレーム を組み合わせて、認証ハンドラーに カスタム ユーザー データ を設定する
- Logto RBAC 機能 を利用して、Encore API サービスに承認サポートを追加します。React 統合チュートリアルは、
scope
情報をあなたのアクセス トークンに追加する方法も示しています(Logto 設定を更新した後に再度サインインする必要があることに注意してください) - Build a multi-tenant SaaS application with Logto を参照し、組織トークンを使用して Encore API サービスでマルチテナントアプリケーションを構築する