日本語
  • logto
  • management-api
  • api
  • machine-to-machine
  • organization
  • user-profile
  • user-search
  • audit-log
  • migration

Logto管理 API の全機能を探索する

この記事では、Logto管理 API の定義を再確認し、その動作の説明と、あなたの生産性を向上させ、より多くのユースケースを開拓するために典型的なシナリオを紹介します。

Guamian
Guamian
Product & Design

インフラストラクチャサービスとして、私たちは Logto管理 API の使用をより簡単かつ迅速にするよう努めています。最近、ガイドとチュートリアルを更新しました。この記事では、Logto管理 API の定義を再確認し、その動作の説明と、あなたの生産性を向上させより多くのユースケースを開拓するために典型的なシナリオを紹介します。

Logto管理 API とは何か

Logto管理 API は、開発者が製品のニーズや技術スタックに合わせて実装をカスタマイズするための強力な事前構築された API セットです。

これは API リソースリストに表示され、削除または変更することはできません。Logto 管理コンソールでできるすべてのことも、Logto管理 API を使用して実行できます。

その識別子は https://[tenant-id].logto.app/api のパターンに従っています。

Logto 管理 API

Logto 管理 API - 2

デフォルトで all の権限が含まれています。Logto が成長するにつれて、私たちは引き続き権限をより細かくしていきます。

Logto管理 API を使用すると、Logto の強力なバックエンドサービスにアクセスでき、これらのサービスは非常にスケーラブルで、多くのシナリオで利用できます。利用可能な API についてはいか、Logto API リファレンス をご覧ください。

管理 API の典型的な使用シナリオ

私たちの開発者は、管理 API を使用して多くの追加機能を実装しています。私たちは、私たちの API が非常にスケーラブルであり、幅広いニーズをサポートできると考えています。ここでは、Logto 管理コンソールでは不可能ですが、管理 API を使用して可能なシナリオのいくつかの例を紹介します。

カスタムUIでユーザープロファイルを実装する

現在、Logto ではユーザープロファイルのための事前構築された UI ソリューションは提供されていません。ユーザープロファイルがビジネスや製品属性に密接に関連していることを認識しています。最適なアプローチを模索している間、私たちは API を使用してあなた自身のソリューションを作成することをお勧めします。たとえば、私たちのインタラクション API、プロファイル API、検証コード API を活用して、あなたのニーズに合ったカスタムソリューションを開発することができます。チュートリアルとガイドの専用ページ ユーザープロファイル を準備しています。

興味深い例として、Logto クラウドのユーザープロファイル機能は Logto管理 API を使用して構築されています。

アカウント設定

カスタムUIで組織管理を実装する

組織 機能を使用してマルチテナントアプリを構築している場合、組織の招待やメンバー管理などのタスクのために Logto 管理 API を必要とすることがあります。

同様に、Logto クラウドの招待と共同作業機能も Logto管理 API を使用して構築されています。

組織

組織にメンバーを招待する

このケースを拡張すると、テナント内に管理者とメンバーの両方がいる場合、Logto 管理 API を活用して、ビジネスニーズに合わせたカスタム管理ポータルを作成できます。詳細については こちら をご覧ください。

高度なユーザー検索

Logto管理コンソールでは基本的な検索とフィルタリング機能をサポートしています。ビジネスニーズに合わせてユーザー管理サービスをカスタマイズするためにさらに高度なオプションが必要な場合、Logto管理 API を使用することができます。それは次のような高度な検索オプションをサポートしています。

  1. ファジー検索
  2. 正確な一致
  3. 大文字小文字の区別
  4. フィールドを指定する

私たちの高度なユーザー検索 チュートリアルとガイドを確認してください。

Logto のログを活用して独自のサービスを構築する

Logto の監査ログを使用して、ユーザーの活動やイベントを簡単に監視できます。これはさまざまなユーザー管理や健全性チェックのビジネスシナリオに強力な基盤を提供します。

監査ログ

管理 API を利用することで、リアルタイムの監査ログデータにアクセスできます。これにより、Logto から取得したログデータを使用して独自のスキーマモデルやダッシュボードを設計することが可能になります。

ユーザーを Logto に移行およびインポートする

管理 API を使用することで、特に Logto への 移行 を行う場合、ユーザーデータのインポートが容易になります。

ユーザーデータの準備を行い、パスワードハッシュユーザースキーマ を設定した後、管理 API 接続を設定し、create user API を呼び出してユーザーデータをインポートします。移行の詳細については、このドキュメント をご覧ください。

Logto管理 API にアクセスする方法

M2M アプリを作成する

M2M アプリタイプを選択して作成プロセスを開始します。作成後、マシン間ロールを割り当てるモジュールに案内されます。

名前と説明を入力すると、ロールを割り当てるモジュールが表示されます。このモジュールにはすべての M2M ロールが含まれており、Logto アイコンが付いているロールは、これらのロールに Logto 管理 API の権限が含まれていることを示しています。

M2M ロールを割り当てることで、 M2M アプリに Logto 管理 API の権限が付与されます。

M2M ロールを割り当てる

マシン間通信とマシン間ロールの割り当てを使用する理由

なぜ Logto は API キーの代わりに、M2M(Machine-to-Machine)通信で Logto 管理 API を呼び出すことを許可しているのでしょうか?

Logto は顧客アイデンティティ管理に取り組んでおり、OAuth 2.0 や OpenID Connect のようなオープンスタンダードを厳密に遵守しています。M2M トークンは、特定のスコープを持つサーバー間の安全な対話を提供し、静的な API キーよりも優れたセキュリティを提供します。API キーとは異なり、トークンは有効期限が設定されており、トークンが漏洩した場合の不正使用のリスクを低減します。

Logto では、役割ベースのアクセス制御 (RBAC) を使用して、Logto管理 API へのアクセスを保護および管理しています。このエンティティ図はその動作を示しています。

許可、API リソース、ロールとマシン間アプリケーションの関係

許可、API リソース、ロールとマシン間アプリケーションの関係

アクセストークンを取得する

アクセストークンリクエストに関する基本事項

M2M アプリは POST リクエストをトークンエンドポイントに送信して、HTTP リクエストエンティティボディに application/x-www-form-urlencoded 形式で次のパラメータを追加してアクセストークンを取得します。

  • grant_type: client_credentials に設定する必要があります
  • resource: アクセスしたいリソースのインジケーター
  • scope: アクセスリクエストのスコープ

また、トークンエンドポイントが M2M アプリを認証できるように、M2M クレデンシャルを含める必要があります。これには、Basic 認証 を使用した Authorization ヘッダーを追加します。ユーザー名は App ID、パスワードは App Secret です。

App ID と App Secret は、M2M アプリケーションの詳細ページで見つけることができます。

アプリケーションのクレデンシャル

Logto管理 API アクセストークンリクエストの例はこちらです:

Logto管理 API 用のアクセストークンを取得する

Logto には「Logto管理 API」という組み込みのリソースが提供されており、Logto管理 API へのアクセスには all 権限を持つ読み取り専用のリソースです。あなたの API リソースリストから確認できます。 このリソース API インジケーターは、https://{YOUR_TENANT_ID}.logto.app/api の形式となっており、これがアクセストークンリクエストボディで使用するリソース値となります。

管理 API のステータス

Logto管理 API へのアクセスを開始する前に、M2M アプリがこの組み込みの「Logto管理 API」リソースからの all 権限を含む M2M ロールに割り当てられていることを確認してください。

これまで学んだことをすべてまとめて、リクエストを送信しましょう:

トークンレスポンス

成功したレスポンスボディは次のようになります:

アクセストークンを使用して Logto管理 API にアクセスする

トークンレスポンスに token_type フィールドが含まれていることに注目してください。これは Bearer に固定されています。したがって、HTTP ヘッダーの Authorization フィールドに Bearer 形式 (Bearer YOUR_TOKEN) でアクセストークンを配置する必要があります。

これで、Logto管理 API にアクセスし、Logto 内のすべてのアプリケーションを取得するために Logto 管理 API エンドポイント https://[your-tenant-id].logto.app/api にリクエストを送信できます

関連リソース

ここに、Logto管理 API の使用に関する以前の洞察と戦略を紹介するいくつかの関連リソースがあります。これらの資料では、ベストプラクティス、実装のヒント、ユースケースなど、 Logto管理 API をプロジェクトで活用する際のサポートとなるさまざまな側面について説明しています。