simplesamlphp SSO 单点登录配置,demo

这是第三部分,主要介绍一款精简封装后的插件— onelogin
第一部分:身份提供商IDP配置
第二部分:服务提供商SP配置
第三部分:onelogin的demo讲解

onelogin我们可以看做是我们的SP部分,可以集成到我们框架中,支持git下载,composer等,地址:https://github.com/onelogin/php-saml

zip下载的是老版本,在其中还包括了demo帮助我们理解,非常赞,我主要说下配置及原理

1.进入配置个虚拟域名,www.onelogin.com 访问到根目录
2.复制settings-example.php 改名为 settings.php
3.进入settings.php,做下面配置
在这里插入图片描述
4.其中x509cert配置是第二部分下载的example.org.crt,复制内容进去就可以,这里我用**代替
5.进入我们的身份提供商idp,/metadata/saml20-sp-remote.php ,添加下面配置
$metadata[‘http://www.onelogin.com/demo1/metadata.php’] = array(
‘AssertionConsumerService’ => ‘http://www.onelogin.com/demo1/index.php?acs’,
‘SingleLogoutService’ => ‘http://www.onelogin.com/demo1/index.php?sls’,
);在这里插入图片描述
到这里就配置完毕了,我们访问www.onelogin.com/demo1试试
在这里插入图片描述
点击就会去idp验证账号密码,验证成功就会回来,展示用户数据
在这里插入图片描述

说一下生命周期,我们点击登录,会到本站一个判断中,判断是否登录,没有会重定向到idp里,idp中检测是否登录,没有登录就重定向到登录页面,登录后或检测到已登录会再次重定向到我们在metadata/saml20-sp-remote.php中配置的地址上,这个地址就去执行登录(保存session等),登录完毕后再次重定向到指定网址或返回原地址。退出时,会到idp中检测哪些站点登录了,重定向到这些站点做退出操作,最后回到本站点做退出操作,然后回跳到指定页面或返回原地址,从而达到同步登出效果! demo中的代码很简单,结合配置可以很好理解,建议需要使用的小伙伴再结合文档仔细理解。 onglogin可以通过composer进我们框架中,具体实现理解原理后可以根据自己需求调整! 至此,simplesamlphp的介绍就完结,主要是踩到很多坑,总算弄出来了,所以写一篇教程,希望能帮到小伙伴们,如果有不明白或我理解有错的地方,可以在下方留言。 最够推荐个onglogin插件,专用于wordpress,方便大家使用“onelogin-saml-sso”,因为在wordpress中尝试多个插件后,只有这个是方便快捷,功能齐全的