クライアントマスタ

物理名: client_master

テーブル概要

認証基盤を利用するクライアントアプリケーションを管理する。認可要求時のクライアント存在確認、およびトークン発行時のクライアント認証で使用する。

client_type=99InnerClient は IdP 直轄クライアントを表し、認証基盤内の信頼済みクライアントとしてフルアクセス可能な種別とする。

テーブル構造

ColumnName Null Key Type Description
client_id Not Null Primary varchar(32) クライアント識別子
client_name Not Null - nvarchar(64) クライアント表示名
client_secret Not Null - varchar(64) クライアントシークレット
client_type Not Null - tinyint 0:Public,1:Confidential,99:InnerClient
create_datetime Not Null - datetime2(0) レコード作成日時
update_datetime Not Null - datetime2(0) レコード更新日時
status Not Null - tinyint 状態 0:無効,1:有効

制約

ConstraintName Type Columns Description
PK_client_master Primary Key client_id クライアントを一意に識別する

参照関係

RelatedTable Type Description
user_info Referenced ユーザー属性のクライアント単位管理で参照される
client_data_key Referenced クライアントごとの利用可能属性キー管理で参照される

初期データ

Auth/SQL/001_add_default_data.sql で、認証基盤自身を示すクライアントとして以下を投入する。

client_id client_name status
00000000000000000000000000000000 OsolabAuth 1

この初期クライアントは client_type=99InnerClient として扱う前提とする。

API利用箇所

補足

  • 現実装では Helper.CertClient により存在確認のみ実施している。
  • status の有効判定は今後の認可・トークン発行処理で利用する前提の設計となる。
  • InnerClient は通常の外部クライアント登録画面からは作成せず、初期データ投入または内部管理APIのみで登録する。
  • InnerClientclient_scopeclient_data_key の通常制限を受けず、全scope・全属性へのアクセスを許可できる特権クライアントとして扱う。

仕様実装上の不足項目

不足項目 理由
redirect_uri 登録情報 複数URIの許可管理が必要であり、本テーブル単独では表現できない
クライアント種別ごとの詳細ポリシー InnerClient を含む種別ごとの差分を client_type だけでは表現しきれない
トークン認証方式 client_secret_basic / none の許可方式を管理できない
PKCE必須設定 クライアント別に code_challenge 必須かどうかを制御できない

results matching ""

    No results matching ""