umbalaconmeogia / yii2-ssosubdomain
库,用于帮助在子域上实现单点登录(SSO)。
v0.0.6
2019-05-23 03:12 UTC
README
库,用于帮助在子域上实现单点登录(SSO)。
要使用SSO登录,您需要一个身份提供者(IdentityProvider)的Web服务器以及几个(至少一个)服务提供者(ServiceProvider)的Web服务器。
用法
在每个服务器系统上安装库。
composer require umbalaconmeogia/yii2-ssosubdomain
更新身份提供者服务器中的登录和注销操作。
编辑SiteController类,移除 actionLogin()、actionLogout() 函数,并更新 actions() 函数。
public function actions() { return [ 'login' => [ 'class' => \umbalaconmeogia\ssosubdomain\actions\IdentityProviderLoginAction::class, 'loginFormClass' => LoginForm::class, ], 'logout' => [ 'class' => \umbalaconmeogia\ssosubdomain\actions\IdentityProviderLogoutAction::class, 'ssoCookieDomain' => Yii::$app->session->cookieParams['domain'], ], // Another definition. ]; }
注意:在 behaviors() 函数中移除 logout 必须通过POST方法调用的要求。
更新服务提供者服务器中的登录和注销操作。
编辑SiteController类,移除 actionLogin()、actionLogout() 函数,并更新 actions() 函数。
public function actions() { return [ 'login' => [ 'class' => \umbalaconmeogia\ssosubdomain\actions\ServiceProviderLoginAction::class, 'idProviderLoginUrl' => \Yii::$app->params['idProviderLoginUrl'], ], 'logout' => [ 'class' => \umbalaconmeogia\ssosubdomain\actions\ServiceProviderLogoutAction::class, 'idProviderLogoutUrl' => \Yii::$app->params['idProviderLogoutUrl'], ], // Another definition. ]; }
同时设置配置参数中的 idProviderLoginUrl 和 idProviderLogoutUrl。