RedirectUriRegistrationValidator
in package
登録時の redirect_uri を検証する
認可時の照合(league の RedirectUriValidator)とは責務が異なる。こちらは 「そもそも登録を受け付けてよい URI か」を判定する。動的クライアント登録が 無認証で開いているため、平文の http で任意のホストへコードを飛ばせる登録を 入口で弾く必要がある。
Table of Contents
Constants
- MAX_URIS : mixed = 5
- 登録できる redirect_uri の上限件数
- LOOPBACK_HOSTS : mixed = ['127.0.0.1', '::1', 'localhost']
- http を許容するループバックホスト
Methods
- validate() : void
- redirect_uri の配列を検証する
- validateOne() : void
- 単一の redirect_uri を検証する
Constants
MAX_URIS
登録できる redirect_uri の上限件数
public
mixed
MAX_URIS
= 5
LOOPBACK_HOSTS
http を許容するループバックホスト
private
mixed
LOOPBACK_HOSTS
= ['127.0.0.1', '::1', 'localhost']
RFC 8252 は IP リテラルを推奨しているが、ローカル環境の baserCMS は http で動くため localhost も許容する。リダイレクト先が利用者の端末内に 限られるためリスクは小さい。
Methods
validate()
redirect_uri の配列を検証する
public
validate(mixed $redirectUris) : void
「登録を受け付けてよいか」の判定はこのクラスの責務のため、配列以外が 渡された場合(JSON の redirect_uris が文字列や数値だった場合など)の 型チェックもここで完結させる。呼び出し側の型ヒントを array にすると TypeError(Exception を継承しないため呼び出し元の catch (Exception) で 捕捉できず 500 になる)を招くため、引数は mixed で受けて内部で判定する。
Parameters
- $redirectUris : mixed
-
redirect_uri の配列(を想定する値)
Tags
validateOne()
単一の redirect_uri を検証する
private
validateOne(mixed $uri) : void
Parameters
- $uri : mixed
-
redirect_uri