+ BaserCorePlugin
+
+
+ extends BcPlugin
+
+
+
+ in package
+
+
+
+
+ implements
+ AuthenticationServiceProviderInterface
+
+
+
+Class plugin
+ + + + + + ++ Table of Contents + + +
+ + + ++ Interfaces + + +
+-
+
- AuthenticationServiceProviderInterface
+ Properties + + +
+-
+
- + $currentSite + + : null + +
- 現在のサイト +キャッシュ用 + +
- + $migrations + + : Migrations + + +
+ Methods + + +
+-
+
- + addTheme() + + : mixed + +
- テーマを追加する + +
- + applyAsTheme() + + : mixed + +
- テーマを適用する + +
- + bootstrap() + + : void + +
- bootstrap + +
- + clearCurrentSite() + + : void + +
- カレントサイトを初期化する + +
- + console() + + : CommandCollection + +
- コマンド定義 + +
- + contentsRoutingForReverse() + + : RouteBuilder + +
- コンテンツ管理ルーティング + +
- + createAssetsSymlink() + + : bool + +
- プラグインアセットのシンボリックリンクを作成する + +
- + execScript() + + : bool + +
- アップデートスクリプトを実行する + +
- + execUpdater() + + : mixed + +
- アップデートプログラムを実行する + +
- + frontPageRouting() + + : RouteBuilder + +
- プラグインのフロントエンド用ルーティング(プラグイン名がダッシュ区切りの場合) + +
- + getAuthenticationService() + + : AuthenticationServiceInterface + +
- 認証サービスプロバイダ生成 + +
- + getService() + + : array<string|int, mixed>|mixed|object + +
- Get Service + +
- + getUpdaters() + + : array<string|int, mixed> + +
- アップデータのパスを取得する + +
- + getUpdateScriptMessages() + + : array<string|int, mixed> + +
- アップデータのメッセージを取得する +現在のバージョンより上位のアップデートスクリプトフォルダの config.php を読み込み +変数 $updateMessage より取得する + +
- + hasService() + + : bool + +
- Has Service + +
- + initialize() + + : void + +
- Initialize + +
- + install() + + : bool + +
- プラグインをインストールする + +
- + isRequiredAuthentication() + + : bool + +
- 認証が必要か判定する + +
- + loadPlugin() + + : bool + +
- プラグインを読み込む + +
- + middleware() + + : MiddlewareQueue + +
- Setup the middleware queue your application will use. + +
- + migrate() + + : mixed + +
- マイグレーションを実行する + +
- + prefixRouting() + + : RouteBuilder + +
- プラグインの管理画面用ルーティング + +
- + rollbackDb() + + : bool + +
- プラグインのテーブルをリセットする + +
- + routes() + + : void + +
- Routes + +
- + services() + + : void + +
- services + +
- + setupDefaultTemplatesPath() + + : mixed + +
- デフォルトテンプレートを設定する + +
- + setupJwtAuth() + + : AuthenticationService + +
- JWT 認証のセットアップ + +
- + setupSessionAuth() + + : AuthenticationService + +
- セッション認証のセットアップ + +
- + siteRouting() + + : RouteBuilder + +
- サブサイトのプラグイン用ルーティング + +
- + uninstall() + + : bool + +
- プラグインをアンインストールする + - `plugin` : プラグイン名 + - `connection` : コネクション名 + - `target` : ロールバック対象バージョン + +
- + updateDateNow() + + : void + +
- 対象のフィールドを現在の日付に更新する + +
- + updateDefaultData() + + : void + +
- 初期データ読み込み時の更新処理 + +
- + getSkipCsrfUrl() + + : array<string|int, mixed> + +
- Web API のPOST送信において CSRF をスキップするURLについて、 +Router で変換した上で取得 + +
+ Properties + + +
++ $currentSite + + + + +
+ + +現在のサイト +キャッシュ用
+ +
+ public
+ static null
+ $currentSite
+ = null
+
+
+
+
+
++ $migrations + + + + +
+ + + +
+ public
+ Migrations
+ $migrations
+
+
+
+
+
+
++ Methods + + +
++ addTheme() + + +
+ + +テーマを追加する
+ +
+ public
+ addTheme(PluginApplicationInterface $application) : mixed
+
+ テーマ内のプラグインも追加する
+Parameters
+-
+
- + $application + : PluginApplicationInterface + +
- + + +
+ Tags + + +
+ + + ++ applyAsTheme() + + +
+ + +テーマを適用する
+ +
+ public
+ applyAsTheme(Site $site, string $theme) : mixed
+
+ Parameters
+-
+
- + $site + : Site + +
- + + +
- + $theme + : string + +
- + + +
+ Tags + + +
+ + + ++ bootstrap() + + +
+ + +bootstrap
+ +
+ public
+ bootstrap(PluginApplicationInterface $app) : void
+
+ Parameters
+-
+
- + $app + : PluginApplicationInterface + +
- + + +
+ Tags + + +
+ + + ++ clearCurrentSite() + + +
+ + +カレントサイトを初期化する
+ +
+ public
+ clearCurrentSite() : void
+
+ + console() + + +
+ + +コマンド定義
+ +
+ public
+ console(CommandCollection $commands) : CommandCollection
+
+ Parameters
+-
+
- + $commands + : CommandCollection + +
- + + +
+ Tags + + +
+ + +Return values
+ CommandCollection ++ contentsRoutingForReverse() + + +
+ + +コンテンツ管理ルーティング
+ +
+ public
+ contentsRoutingForReverse(RouteBuilder $routes, string $plugin) : RouteBuilder
+
+ リバースルーティングのために必要
+Parameters
+-
+
- + $routes + : RouteBuilder + +
- + + +
- + $plugin + : string + +
- + + +
+ Tags + + +
+ + +Return values
+ RouteBuilder ++ createAssetsSymlink() + + +
+ + +プラグインアセットのシンボリックリンクを作成する
+ +
+ public
+ createAssetsSymlink() : bool
+
+ + Tags + + +
+ + +Return values
+ bool ++ execScript() + + +
+ + +アップデートスクリプトを実行する
+ +
+ public
+ execScript(string $__version) : bool
+
+ Parameters
+-
+
- + $__version + : string + +
- + + +
+ Tags + + +
+ + +Return values
+ bool ++ execUpdater() + + +
+ + +アップデートプログラムを実行する
+ +
+ public
+ execUpdater() : mixed
+
+ + Tags + + +
+ + + ++ frontPageRouting() + + +
+ + +プラグインのフロントエンド用ルーティング(プラグイン名がダッシュ区切りの場合)
+ +
+ public
+ frontPageRouting(RouteBuilder $routes, string $plugin) : RouteBuilder
+
+ BcPrefixAuthより先に定義が必要 +定義しない場合、CSRFトークン取得などの処理にて、BcPrefixAuthのルーティングに捕まり認証を求められてしまう場合がある。 +例)認証付 MyPage の定義で、alias を '/' とした場合
+Parameters
+-
+
- + $routes + : RouteBuilder + +
- + + +
- + $plugin + : string + +
- + + +
+ Tags + + +
+ + +Return values
+ RouteBuilder ++ getAuthenticationService() + + +
+ + +認証サービスプロバイダ生成
+ +
+ public
+ getAuthenticationService(ServerRequestInterface $request) : AuthenticationServiceInterface
+
+ -
+
- インストール前の場合は、設定なしで、Session のみ読み込む +(インストールの動作テストを複数回行う場合にセッションが残ってしまい内部的なエラーを吐いてしまうため) +
Parameters
+-
+
- + $request + : ServerRequestInterface + +
-
+
+ +Request
+
+
+ Tags + + +
+ + +Return values
+ AuthenticationServiceInterface ++ getService() + + +
+ + +Get Service
+ +
+ public
+ getService( $service) : array<string|int, mixed>|mixed|object
+
+ Parameters
+ + + ++ Tags + + +
+ + +Return values
+ array<string|int, mixed>|mixed|object ++ getUpdaters() + + +
+ + +アップデータのパスを取得する
+ +
+ public
+ getUpdaters([mixed $name = '' ]) : array<string|int, mixed>
+
+ Parameters
+-
+
- + $name + : mixed + = '' +
- + + +
+ Tags + + +
+ + +Return values
+ array<string|int, mixed> + — +$updates
++ getUpdateScriptMessages() + + +
+ + +アップデータのメッセージを取得する +現在のバージョンより上位のアップデートスクリプトフォルダの config.php を読み込み +変数 $updateMessage より取得する
+ +
+ public
+ getUpdateScriptMessages([mixed $name = '' ]) : array<string|int, mixed>
+
+ 戻り値例 +[ +'1.0.1 => 'message', +'1.0.2 => 'message' +]
+Parameters
+-
+
- + $name + : mixed + = '' +
- + + +
+ Tags + + +
+ + +Return values
+ array<string|int, mixed> + — +$messages
++ hasService() + + +
+ + +Has Service
+ +
+ public
+ hasService( $service) : bool
+
+ Parameters
+ + + ++ Tags + + +
+ + +Return values
+ bool ++ initialize() + + +
+ + +Initialize
+ +
+ public
+ initialize() : void
+
+ + Tags + + +
+ + + ++ install() + + +
+ + +プラグインをインストールする
+ +
+ public
+ install([array<string|int, mixed> $options = [] ]) : bool
+
+ マイグレーションファイルを読み込み、 plugins テーブルに登録する
+Parameters
+-
+
- + $options + : array<string|int, mixed> + = [] +
-
+
+ +-
+
-
+
plugin
: プラグイン名
+ -
+
connection
: コネクション名
+ -
+
permission
: アクセスルールを作るか作らないか。作らない場合は、システム管理ユーザーが利用可能
+
+ -
+
+ Tags + + +
+ + +Return values
+ bool ++ isRequiredAuthentication() + + +
+ + +認証が必要か判定する
+ +
+ public
+ isRequiredAuthentication(array<string|int, mixed> $authSetting) : bool
+
+ Parameters
+-
+
- + $authSetting + : array<string|int, mixed> + +
- + + +
+ Tags + + +
+ + +Return values
+ bool ++ loadPlugin() + + +
+ + +プラグインを読み込む
+ +
+ public
+ loadPlugin(PluginApplicationInterface $application, string $plugin, mixed $priority) : bool
+
+ Parameters
+-
+
- + $application + : PluginApplicationInterface + +
- + + +
- + $plugin + : string + +
- + + +
- + $priority + : mixed + +
- + + +
+ Tags + + +
+ + +Return values
+ bool ++ middleware() + + +
+ + +Setup the middleware queue your application will use.
+ +
+ public
+ middleware(MiddlewareQueue $middlewareQueue) : MiddlewareQueue
+
+ Parameters
+-
+
- + $middlewareQueue + : MiddlewareQueue + +
-
+
+ +The middleware queue to setup.
+
+
+ Tags + + +
+ + +Return values
+ MiddlewareQueue + — +The updated middleware queue.
++ migrate() + + +
+ + +マイグレーションを実行する
+ +
+ public
+ migrate([array<string|int, mixed> $options = [] ]) : mixed
+
+ Parameters
+-
+
- + $options + : array<string|int, mixed> + = [] +
- + + +
+ Tags + + +
+ + + ++ prefixRouting() + + +
+ + +プラグインの管理画面用ルーティング
+ +
+ public
+ prefixRouting(RouteBuilder $routes, string $plugin) : RouteBuilder
+
+ プラグイン名がダッシュ区切りの場合
+Parameters
+-
+
- + $routes + : RouteBuilder + +
- + + +
- + $plugin + : string + +
- + + +
+ Tags + + +
+ + +Return values
+ RouteBuilder ++ rollbackDb() + + +
+ + +プラグインのテーブルをリセットする
+ +
+ public
+ rollbackDb([array<string|int, mixed> $options = [] ]) : bool
+
+ Parameters
+-
+
- + $options + : array<string|int, mixed> + = [] +
-
+
+ +-
+
-
+
plugin
: プラグイン名
+ -
+
connection
: コネクション名
+ -
+
target
: ロールバック対象バージョン
+
+ -
+
+ Tags + + +
+ + +Return values
+ bool ++ routes() + + +
+ + +Routes
+ +
+ public
+ routes(RouteBuilder $routes) : void
+
+ 次のルートを設定するが、未インストール時はインストーラーのみ設定し他はスキップする。
+コンテンツルーティング
+/*
+管理画面ダッシュボード
+/baser/admin
+JWTトークン検証用
+/baser/api/baser-core/.well-known/jwks.json
+Parameters
+-
+
- + $routes + : RouteBuilder + +
- + + +
+ Tags + + +
+ + + ++ services() + + +
+ + +services
+ +
+ public
+ services(ContainerInterface $container) : void
+
+ Parameters
+-
+
- + $container + : ContainerInterface + +
- + + +
+ Tags + + +
+ + + ++ setupDefaultTemplatesPath() + + +
+ + +デフォルトテンプレートを設定する
+ +
+ public
+ setupDefaultTemplatesPath() : mixed
+
+ + Tags + + +
+ + + ++ setupJwtAuth() + + +
+ + +JWT 認証のセットアップ
+ +
+ public
+ setupJwtAuth(AuthenticationService $service, array<string|int, mixed> $authSetting, string $prefix) : AuthenticationService
+
+ Parameters
+-
+
- + $service + : AuthenticationService + +
- + + +
- + $authSetting + : array<string|int, mixed> + +
- + + +
- + $prefix + : string + +
- + + +
+ Tags + + +
+ + +Return values
+ AuthenticationService ++ setupSessionAuth() + + +
+ + +セッション認証のセットアップ
+ +
+ public
+ setupSessionAuth(AuthenticationService $service, array<string|int, mixed> $authSetting) : AuthenticationService
+
+ Parameters
+-
+
- + $service + : AuthenticationService + +
- + + +
- + $authSetting + : array<string|int, mixed> + +
- + + +
+ Tags + + +
+ + +Return values
+ AuthenticationService ++ siteRouting() + + +
+ + +サブサイトのプラグイン用ルーティング
+ +
+ public
+ siteRouting(RouteBuilder $routes, string $plugin) : RouteBuilder
+
+ プラグイン名がダッシュ区切りの場合
+Parameters
+-
+
- + $routes + : RouteBuilder + +
- + + +
- + $plugin + : string + +
- + + +
+ Tags + + +
+ + +Return values
+ RouteBuilder ++ uninstall() + + +
+ + +プラグインをアンインストールする + - `plugin` : プラグイン名 + - `connection` : コネクション名 + - `target` : ロールバック対象バージョン
+ +
+ public
+ uninstall([mixed $options = [] ]) : bool
+
+ Parameters
+-
+
- + $options + : mixed + = [] +
- + + +
+ Tags + + +
+ + +Return values
+ bool ++ updateDateNow() + + +
+ + +対象のフィールドを現在の日付に更新する
+ +
+ public
+ updateDateNow(string $table, array<string|int, mixed> $fields[, array<string|int, mixed> $conditions = [] ][, array<string|int, mixed> $options = [] ]) : void
+
+ Parameters
+-
+
- + $table + : string + +
- + + +
- + $fields + : array<string|int, mixed> + +
- + + +
- + $conditions + : array<string|int, mixed> + = [] +
- + + +
- + $options + : array<string|int, mixed> + = [] +
- + + +
+ Tags + + +
+ + + ++ updateDefaultData() + + +
+ + +初期データ読み込み時の更新処理
+ +
+ public
+ updateDefaultData([array<string|int, mixed> $options = [] ]) : void
+
+ Parameters
+-
+
- + $options + : array<string|int, mixed> + = [] +
- + + +
+ getSkipCsrfUrl() + + +
+ + +Web API のPOST送信において CSRF をスキップするURLについて、 +Router で変換した上で取得
+ +
+ protected
+ getSkipCsrfUrl() : array<string|int, mixed>
+
+