• auth
  • integration
  • oauth
  • oidc
  • identity

Logto で OAuth および OIDC 認証を効率化

私たちのコミュニティは、特定の製品、例えば Outline や ChatGPT プラグインのために Logto をアイデンティティプロバイダーとして使用したいという関心を示しています。理論的には、統合したい製品がいずれかのプロトコルをサポートしている限り、Logto は OAuth または OIDC (OpenID Connect) プロバイダーとして機能できます。

Gao
Gao
Founder

Logto は、必要なすべての機能を提供する使いやすいアイデンティティソリューションです。ユーザー名、メールアドレス、電話番号、Google や GitHub などの人気のソーシャルサインインを含む、さまざまなサインイン方法をサポートしています。個人であれ、あらゆる規模の企業であれ、Logto はあなたのプロジェクトの特定のニーズに合わせた完璧な カスタマーアイデンティティとアクセス管理 (CIAM) ソリューションを提供します。

はじめに

私たちのコミュニティは、特定の製品、例えば Outline や ChatGPT プラグインのために Logto をアイデンティティプロバイダーとして使用したいという関心を示しています。理論的には、統合したい製品がいずれかのプロトコルをサポートしている限り、Logto は OAuth 2.0 (OAuth) または OpenID Connect (OIDC) プロバイダーとして機能できます。

この記事では、Logto をアイデンティティプロバイダーとして使用した OAuth または OIDC の統合に関する一般的なチュートリアルを提供します。さらに、特定の統合に関する専用のチュートリアルも提供しています。

製品によっていくつかの詳細が異なる場合がありますが、基本的な構成は一般的です。質問がある場合やさらにサポートが必要な場合は、ぜひ私たちの Discord サーバーに参加してさらなる議論に加わってください。

さあ、始めましょう!

必要条件

始める前に、以下のものを用意してください:

  • 実行中の Logto インスタンスまたは Logto クラウドアカウントへのアクセス。
  • サードパーティの OAuth または OIDC アイデンティティプロバイダーをサポートする製品(「製品」と呼んでいます)。

Logto の設定

Logto を自分でホストしている場合は、Logto インスタンスのセットアップに関する Logto の「スタートガイド」ドキュメントを参照してください。

Logto Cloud を利用している場合は、URL https://cloud.logto.io/ にアクセスして Logto コンソールを開き、自分でホストしている場合は設定したエンドポイントを使用します。

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

「アプリケーション」タブに移動し、「アプリケーションを作成」をクリックします。

Logto コンソールの「アプリケーション」タブ

表示されるモーダルで「従来の Web」を選択し、例えば「My App」のようなアプリケーション名を入力します。「アプリケーションを作成」をクリックします。

アプリケーションタイプが示された「アプリケーションを作成」モーダル

Logto のチュートリアルページに移動します。「スキップ」 を右上隅でクリックしてアプリケーションの詳細ページに進みます。

アプリケーション詳細ページ

リダイレクト URI の設定

リダイレクト URI」セクションで、製品のドキュメントに記載された値を入力します。通常、ID や製品のエンドポイント設定に基づいて動的です。 例えば、ChatGPT プラグイン では、リダイレクト URI は次のようになります:

https://chat.openai.com/aip/[your-plugin-id]/oauth/callback

プラグイン ID が foo123 の場合、値は次のとおりです:

https://chat.openai.com/aip/foo123/oauth/callback

「リダイレクト URI」の設定セクション

また、「リダイレクト URL」、「コールバック URI」、または 「コールバック URL」と呼ばれることもあります。

オプション: Logto がリフレッシュトークンを発行することを確認する

一部の製品では、Logto にトークン交換リクエストを送信する際に リフレッシュトークン が必要な場合があります。 OAuth の場合、offline_access スコープが含まれていることを確認するだけで済みます。OIDC プロトコルに従って、デフォルトでは、製品はオーソリゼーションコードフローの初期認可要求で prompt=consent 検索パラメータも追加する必要があります。そうしないと、リフレッシュトークンは発行されません。

製品が OAuth を使用している場合や、prompt=consent パラメータまたは offline_access スコープを追加せずにリフレッシュトークンが必要な場合(例: ChatGPT プラグイン)、「詳細設定」セクションにスクロールして「リフレッシュトークンを常に発行する」を有効にしてください。

「リフレッシュトークンを常に発行する」トグル

これで完了です!

ページ下部にある「変更を保存」ボタンをクリックします。これで、さらなる設定に役立つようにこのページを開いたままにしておいてください。

アクションバーに「変更を保存」ボタンが表示されています

製品の設定

製品のドキュメントに記載されている OAuth または OIDC 設定手順に従います。

基本設定

必要な構成値の大半は、Logto アプリケーションの詳細ページで見つけることができます。名前に異なる別名があるかもしれないので、以下の表を参照してください:

Logto 名称別名使用法
アプリ IDアプリケーション ID, クライアント ID
アプリシークレットアプリケーションシークレット, クライアントシークレット
リダイレクト URIリダイレクト URL, コールバック URI, コールバック URLサインイン後にリダイレクト
サインアウト後のリダイレクト URIサインアウト後のリダイレクト URL、ログアウト後のリダイレクト URI、ログアウト後のリダイレクト URLサインアウト後にリダイレクト
認可エンドポイント認可 URI, 認可 URL, 認可エンドポイント, 認可 URL, 認可 URI初期認証
トークンエンドポイントトークン URL, トークン URIトークン付与リクエスト
ユーザー情報エンドポイントユーザー情報 URL, ユーザー情報 URI, ユーザーインフォエンドポイント, ユーザーインフォ URL, ユーザーインフォ URI現在のユーザー情報の取得

モダンな製品の場合、「ディスカバリーエンドポイント」だけで十分かもしれません。このような場合、認可エンドポイント内の auth.well-known/openid-configuration に置き換えます。例えば、認可エンドポイントが https://default.logto.app/oidc/auth の場合、ディスカバリーエンドポイントは https://default.logto.app/oidc/.well-known/openid-configuration となります。

オプション: スコープ設定

製品が OIDC をサポートする場合や ID トークンの発行を必要とする場合、スコープ設定に openid profile を追加します。以下のクレーム・スコープ表を参照してください:

クレームタイプ必要なスコープ
substringopenid
namestringprofile
ユーザー名stringprofile
画像stringprofile
メールアドレスstringemail
メール確認済みbooleanemail
電話番号stringphone
電話番号確認済みbooleanphone

チェックポイント: Logto 統合のテスト

製品でサインインボタンをクリックすると、Logto のサインインエクスペリエンスに誘導されます。

Logto サインインエクスペリエンス

すべてが正常に設定されていれば、Logto でサインインまたは登録プロセスを完了すると、エラーなく製品にリダイレクトされます。

これにて、Logto を使った OAuth および OIDC 認証の効率化に関するガイドを終了します。統合中に問題が発生した場合は、[email protected] までメールでご連絡いただくか、Discord サーバーに参加して気軽にご相談ください!

さらなる読み物