baserCMS クラスリファレンス

OAuth2Util
in package

Table of Contents

Methods

addIssuerToUrl()  : string
URL に iss クエリを付与する
createPsr7Request()  : ServerRequestInterface
CakePHPリクエストをPSR-7リクエストに変換
getBaseUrl()  : string
認可サーバーのベース URL を取得する
getIssuer()  : string
認可サーバーの issuer 識別子を取得する

Methods

addIssuerToUrl()

URL に iss クエリを付与する

public static addIssuerToUrl(string $url, string $issuer) : string

RFC 9207。認可レスポンスに issuer を含める事で mix-up 攻撃を防ぐ。 2026-07-28 のクライアントは iss があれば検証が MUST とされている。

Parameters
$url : string

対象の URL

$issuer : string

issuer 識別子

Return values
string

createPsr7Request()

CakePHPリクエストをPSR-7リクエストに変換

public static createPsr7Request(ServerRequest $request) : ServerRequestInterface
Parameters
$request : ServerRequest
Return values
ServerRequestInterface

getBaseUrl()

認可サーバーのベース URL を取得する

public static getBaseUrl(ServerRequest $request) : string

Host ヘッダから組み立てると、Host を固定していないサーバーで細工した Host により メタデータのエンドポイントや issuer を差し替えられ、JWT の iss(SITE_URL 由来)とも 一致しなくなる。SITE_URL が設定されている場合はそれを使い、無い場合のみ リクエストから導出する。

Parameters
$request : ServerRequest

リクエスト

Return values
string —

末尾スラッシュ無しのベース URL

getIssuer()

認可サーバーの issuer 識別子を取得する

public static getIssuer(ServerRequest $request) : string

RFC 8414 のメタデータで公開する issuer と、RFC 9207 で認可レスポンスに 付与する iss は同一の値でなければならないため、導出処理をここに集約する。

Parameters
$request : ServerRequest

リクエスト

Return values
string
On this page

Search results