アプリケーション 2026-07-13 ⏱ 約 5 分

動的クライアント登録(DCR)とは?RFC 7591・7592入門

OAuthクライアントをAPIで動的に登録・管理するDynamic Client Registration(RFC 7591)とClient Management(RFC 7592)を解説する。登録エンドポイント、registration access token、セキュリティ考慮まで整理する。

Read in: en
動的クライアント登録(DCR)とは?RFC 7591・7592入門

概要

OAuthのクライアントは、通常は事前に認可サーバー(AS)へ手動で登録し、client_idclient_secretを発行してもらう。しかし、クライアントの数が非常に多かったり、フェデレーション環境で動的にクライアントが増えたりする場合、手動登録は現実的でない。

これを解決するのが**Dynamic Client Registration(RFC 7591)Dynamic Client Registration Management(RFC 7592)**である。この記事ではその仕組みと、セキュリティ上の注意点を整理する。

関連するRFCは以下の通り。

なぜDCRが必要か

RFC 7591:登録

RFC 7591は、クライアントがASの登録エンドポイントにメタデータをPOSTして、自身を動的に登録する仕組みを定義する。

sequenceDiagram participant C as クライアント participant AS as 認可サーバー C->>AS: POST /register(redirect_uris, grant_types, ...) AS-->>C: { client_id, client_secret, registration_access_token, ... } Note over C: 発行された client_id で通常のフローを実行

登録リクエストには、redirect_urisgrant_typestoken_endpoint_auth_methodclient_nameなどのクライアントメタデータを含む。ASは検証のうえ、client_id(必要ならclient_secret)を発行する。

RFC 7592:管理

RFC 7592は、登録済みクライアントを読み取り・更新・削除するための管理プロトコルである。登録時に発行されるregistration access tokenと、クライアント固有の管理URL(configuration endpoint)を使って操作する。

操作 メソッド
読み取り GET
更新 PUT
削除 DELETE

registration access tokenは、そのクライアントの管理操作を認可するためのトークンで、漏洩すると他人にクライアント設定を書き換えられるため厳重に管理する。

セキュリティ考慮

DCRは便利だが、「誰でも登録できる」ことがそのままリスクになりうる。

まとめ

参考リンク

Tags: OAuth
Share: 𝕏 Post Facebook Hatena
✏️ View source / Discuss on GitHub
☕ サポート

このブログを応援していただける方は、以下からサポートをお願いします。いただいたサポートはブログ運営・技術研鑽に活用します。


関連記事