代码拉取完成,页面将自动刷新
Springboot + Spring Security SAML(独立扩展库) demo
Here
后,跳转到 localhost:8080/saml/login
,demo 会向 IDP 发送认证请求,跳转到 OKTA(作为 IDP) 进行登录localhost:8080/saml/SSO
消费断言/home
接口,跳转到 localhost:8080/home
页面分为本地登出和单点登出(SLO)
localhost:8080/home
页面中:本地登出:直接退出本地的 session,但是没有在 IDP 那边退出,所以当再次登录时,在 IDP 无需再次输入用户、密码,直接进行登录。
单点登出:在 IDP 那边退出,所以当再次登录时,在 IDP 那边需要输入用户、密码,才能进行登录。
本 demo 不给予 IDP 的帐号、密码,请自行搭建,很简单
OKTA 可以免费申请到开发者帐号,链接。
通过 OKTA 的帮助文档 完成 SAML IDP 的搭建。(搭建好后,记得将应用分配给用户(可以是自己),这样才能进行使用)
最终配置好的样子
KEY 分别是什么意思?直接翻译一下就出来了,都是 OKTA 配置时 / 配置后的项,完成配置后,在
General
一页可以看到以下相关的 KEY
KEY | VALUE |
---|---|
Single Sign On URL | http://localhost:8080/saml/SSO |
Recipient URL | http://localhost:8080/saml/SSO |
Destination URL | http://localhost:8080/saml/SSO |
Audience Restriction | xxx(SP 的唯一标识,就是一个字符串,通常有几部分组成,使用 : 分隔) |
Default Relay State | http://localhost:8080/home |
Name ID Format | Unspecified |
Response | Signed |
Assertion Signature | Signed |
Signature Algorithm | RSA_SHA256 |
Digest Algorithm | SHA256 |
Assertion Encryption | Unencrypted |
SAML Single Logout | Enabled |
Signature Certificate | xxx(用于签名的证书,公钥) |
authnContextClassRef | PasswordProtectedTransport |
Honor Force Authentication | Yes |
SAML Issuer ID | (默认即可) |
SP Issuer | xxx(SP 的唯一标识,就是一个字符串,通常有几部分组成,使用 : 分隔) |
Sign On
中可以找到 View Setup Instructions
,点击它。打开的页面中就是刚刚新搭建的 IDP 的一些数据。其中:
idp-okta.xml
中的内容,如果搭建了自己的 IDP ,则将该内容复制到 idp-okta.xml
中进行替换,系统就会知道往你搭建的 IDP 发送认证请求等内容了。此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。