この記事は IDaaS Advent Calendar 2023 17日目の投稿です。

はじめに

Auth0には、認証認可に関わる Authentication API と、Auth0ポータル上の操作を実行可能な Management API の2つのAPIがあります。
今回は、そのうち後者のAPIを対象として概要を説明してみようと思います。
なお、Auth0 Management API でAuth0ポータル上の処理全ての代替はできませんが、継続的に開発が行われており(例:Auth0 Change Log#Organizations: Get Members with Roles)、Auth0ポータル上の進化への追従も今後期待できます。

APIの例

まず基本として、Auth0テナント上へユーザーを作成するAPIです。

もはや説明不要ですね。
設定可能なパラメータは多くありますが、最低限の情報としては email、password、connection があればokです。

次に、Auth0テナント上に登録されているユーザー一覧を返すAPIです。

こちらも、お試しでAPIを叩く分にはシンプルで、特にパラメータの設定は不要です。
注目すべきは q パラメータで、Luceneによる記法が利用可能です。
ANDやOR、ワイルドカードによる検索ができるため、email:(*@example.com OR *@example.co.jp) のようにしてメールアドレスに特定のドメインを持ったユーザーのみを検索することも可能です。

少し変わり種として、ログイン画面のテンプレートを更新するAPIなんかもあります。

なお、記事執筆時点(2023/12/17)では、Auth0ポータル上からは New Universal Login 画面をカスタマイズできないため、このAPIを利用するしかありません。
参照:Customize New Universal Login Pages

You can update the ULP templates only using the Management API.

RPSの制限

Management API には一定時間で実行可能な回数に制限があります。
(値は異なるが、Authentication API も同様に制限あり)
契約形態や開発環境 or 本番環境、APIエンドポイントの種類など条件は様々なため、Auth0を使用したサービスを提供する際は、事前の設計が重要となります。
特に、継続的に秒間16回を超えるAPI実行が必要な場合、Private Cloud契約が必須となるため、ご注意ください。
参照:Rate Limit Configurations

また、実サービスで Management API を利用する場合、残RPSのモニタリングもしたい所です。
これは、API実行結果のレスポンスヘッダーに含まれる x-ratelimit-remaining で実現できます。
ただし、Management API 全てに共通する値ではなく、特別に制限されたRPSが設定されているエンドポイントは別カウントなため、モニタリングの際は x-ratelimit-limit も合わせて確認しておく必要があります。
参照:Predict when requests to a tenant will be rate limited

SPAアプリから実行する場合

通常、Management API はサーバー側から実行しますが、SPAアプリケーションの場合クライアント側から実行するケースがあります。
ただし実行可能なAPIと権限は非常に限られており、ユースケースとしては、ログイン中のユーザーの詳細情報取得や user_metadata へのユーザー言語の設定などが挙げられます。
参照:Get Management API Access Tokens for Single-Page Applications

おわりに

TC3では『デジタル顧客接点トータルサービス』として、Okta Customer Identity Cloud(旧Auth)の導入からアプリケーション開発までをトータルでご支援しております。トライアルの段階から、どのようにIDaaS/CIAMを導入するかについてもサポートさせていただきますので、お気軽にお問い合わせください。

●資料ダウンロード●

デジタル顧客接点トータルサービスに関する詳細のご紹介資料は以下からダウンロードいただけます!