この記事は 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 CIC(Customer Identity Cloud)を代表とするIDaaSを活用したデジタルサービス開発のプロフェッショナルです(Customer Identity Cloudの認定も取得しています)。
すでに実践的に設計・実装された基盤サービスとして2024年5月末に、「Tactna Identity Platform」を発表しました!このサービスを活用いただくことで、事業部やサービス間の調整を減らし、リリースまでの期間を早め、ユーザー体験を向上させるといったメリットの多い開発プランをご提供します。
トライアル・MVP開発の段階から、どのようにIDaaS/CIAMを導入するかについてもサポートさせていただきますので、お気軽にお問い合わせください。
Tactna Identity Platformに関する詳細のご紹介資料は以下からダウンロードいただけます!
ひとまず情報のキャッチアップだけしておきたいという方は、こちらからニュースレターの購読ができます。