在上一篇中我简单配置了saml 的idp版本,接着再配置安装一个simplesamlphp 作为服务提供商SP
第一部分:身份提供商IDP配置
第二部分:服务提供商SP配置
第三部分:onelogin的demo讲解
再次准备一份原始的simplesamlphp
1.配置虚拟域名,假设为 www.samlsp.com
2./config/config.php 里 baseurlpath = ‘’;配置可以留空,否则需要在配置虚拟机里指定别名,没有这个必要
3.openssl req -newkey rsa:3072 -new -x509 -days 3652 -nodes -out example.org.crt -keyout example.org.pem 生成秘钥和签证,把两个文件放到身份提供商IDP根目录/cert文件里
4.进入身份提供商IDP根目录/metedata/saml20-idp-hosted.php文件里,配置上秘钥和签证,以及身份认证模块
5.访问www.samlidp2.com 点击进入联盟,点击显示原信息
6.可以看到下面这个页面,复制第一个箭头指向的链接
7.将复制的url粘贴到 我们服务提供商SP根目录下的/config/authsources.php里的 idp里
8.返回第6步,复制第二个箭头所指的元数据,粘贴到我们服务提供商SP根目录下的metadata/saml20-idp-remote.php里
9.进入 www.samlsp.com 联盟,点击显示元信息
10.复制下面图中,箭头指向的原信息
11.粘贴到 身份提供商idp根目录下的 /metadata/saml20-sp-remote.php里
12.这里就已经配置好了,我们来测试,进入www.samlsp.com,点击认证->测试已经配置的认证源->点击default-sp
13.这里会提示我们需要输入账号密码,账号秘密就是我们在idp中配置的example-pass的账号密码
14.展示下面信息,说明我们一个完整的idp 和 sp就已经配置完成了
这第二部分主要完成的是sp的配置和,进行身份验证,都是基于simplesamlphp完成的。如果项目简单,可以直接在上面二次开发,但是大部分时候我们是需要用到自己的框架等,如果把samlphp放到框架中显得太笨重,而且要调整很多配置。第三部分我会介绍一个插件,并完成认证。