SAMLシングルサインオン対応†
- ページ: BugTrack
- 投稿者: umorigu
- 優先順位: 普通
- 状態: 完了
- カテゴリー: 本体新機能
- 投稿日: 2017-01-06 (金) 02:54:42
- バージョン: 1.5.1
- リリース予定バージョン: 1.5.2
メッセージ†
PukiWiki 1.5.1 は外部認証 official:PukiWiki/Authentication/ExternalAuth を使ってSingle Sign Onに対応できるが、
独自実装が必要となりハードルが高い。
より一般的な仕組みであるSAMLを利用し、SSOに対応しやすくする。
Solution†
- onelogin/php-saml を使い、SAML SPとして動作する
- samlプラグイン (saml.inc.php) を追加
- SAMLの各種URLに & が含まれていると動作しなかった。
- このため、 ?//key1.value//key2.value//key3 ... のようなクエリパラメータ代替書式を追加した
- index.php?//cmd.saml//sso でSAMLプラグインを呼び出すことができる
- 設定はすべて saml_settings.php に書く。
- 認証タイプ (auth_type) に AUTH_TYPE_SAML を追加した。
動作確認済みIdP†
- SimpleSAMLphp
- Okta
- OneLogin
- GSuite (Google Apps)
既存実装†
- onelogin/php-saml -- Simple SAML toolkit for PHP ://github.com/onelogin/php-saml
- SimpleSAMLphp ://simplesamlphp.org/
- onelogin/php-samlを使って実装しました commit:db66ccdc49 -- umorigu
- 該当のライブラリはMITライセンスで許諾された別の著作物ですから、同梱は避けることをお勧めします。(ライセンスのcompatibilityの話題ではありません) -- henoheno
- コメントありがとうございます。同梱はしません。誰もが使うものではないので、composerを使った導入手順があれば十分だと思っています -- umorigu
- onelogin/php-saml の 3.0.0 に対応しました。 commit:8c7d5c579a namespaceを使うようになったようです -- umorigu