LoginSignup
1
0

More than 3 years have passed since last update.

SimpleSAMLPHPでIdPのログインページをカスタマイズする方法

Posted at

やりたいこと

SimpleSAMLPHPを使ってIdpを構築してSSOをやっているのですが
いざ、構築し終わったらデフォルトのログインページのまま

これではだめなので変えようとしたところ死ぬほど苦戦したのでメモ

実現方法

デフォルトのログイン画面は

modules/core/templates/loginuserpass.tpl.phpになります

こいつをオーバライドしてやる必要があるわけです。

SimpleSAMLPHPにはテーマ機能があって、すべての画面をカスタマイズできます。
しかしその情報が公式ドキュメントのみなので面倒です

公式の通りにディレクトリを作成します

cd modules
mkdir mymodule
cd mymodule
touch default-enable
cd modules/mymodule
mkdir -p themes/fancytheme

configの設定を変えます

'theme.use'         => 'mymodule:fancytheme',

公式の例3を確認すると

たとえば、preprodwarningテンプレートを上書きするには(ファイルはにありますmodules/preprodwarning/templates/warning.php)、新しいファイルを追加する必要があります。

modules/mymodule/themes/fancytheme/preprodwarning/warning.php
モジュールfoomoduleで言うと、bar.phpテンプレートを表示するいくつかのコード要求、SimpleSAMLphpは次のようになります。

最初にテーマを確認して、代替品を探してくださいmodules/mymodule/themes/fancytheme/foomodule/bar.php。
見つからない場合、そのモジュールのベーステンプレートを使用します。 modules/foomodule/templates/bar.php

とあるので
loginuserpassをオーバーライドしたい場合
今回の場合modules/mymodule/themes/fancythemecoreディレクトリを作成します。(core内のテンプレートのため)
そこにloginuserpass.phpを作成してやれば上書きできます。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0