• encore
  • protect api
  • api 認証

Encore アプリケーションで Logto を使用する方法

Encore バックエンドアプリケーションで Logto を使用してユーザー認証を行う方法を学びます。このガイドでは、Go バックエンドを Logto と統合する方法を紹介します。

Yijun
Yijun
Developer

ユーザー認証に何週間も費やすのはもうやめましょう
Logto でより速く安全なアプリをリリース。数分で認証を統合し、コア製品に集中できます。
始めましょう
Product screenshot

Encore は、製品レベルの API やマイクロサービスを簡単に構築できるバックエンド開発プラットフォームです。

Logto は、モダンな Auth0 の代替で、数分でサインイン体験とユーザーアイデンティティを構築するのに役立ちます。特に Encore で構築された API サービスを保護するのに適しています。

このガイドでは、Encore アプリケーションと Logto を統合して、安全なユーザー認証を実装し、API エンドポイントを保護する方法を示します。

Logto の設定

Encore と統合を始める前に、Logto でいくつかの設定を行う必要があります:

  1. Logto Cloud でアカウントを作成します(まだお持ちでない場合)。

  2. Logto Console で API リソースを作成します。これはあなたの Encore API サービスを表します。

    • Logto Console の「API Resources」に移動し、新しい API を作成します。
    • 名前と API 識別子を設定します(例:https://api.encoreapp.com)。
    • API リソース詳細ページで API 識別子をメモします。後で必要になります。

Logto API リソース

  1. フロントエンドアプリケーションのためにアプリケーションを作成します。
    • Logto Console の「Applications」に移動します。
    • お使いのフロントエンドフレームワークに応じて新しいアプリケーションを作成します(例として React を使用していますが、任意のシングルページアプリケーション (SPA) またはネイティブアプリを作成できます)。
    • (オプションで、後ほど説明します)Logto をフロントエンドアプリケーションと統合します。Logto Console のガイドに従ってください。
    • アプリケーション詳細ページでアプリケーション ID と発行者 URL をメモします。これらも後で必要になります。

Logto アプリケーションエンドポイント

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 機能を使用したい場合は、次のリンクを参照してください: