sso单点登录的流程图

建立一个单点登录中心sso系统,专门配置单点登录信息,所有不同域名的网站都需要在这上面进行注册,然后当其中一个网站登录后,网站的登录系统会发送请求给sso系统,sso会根据请求生成其他网站的免登陆url地址给浏览器,浏览器通过iframe内嵌发起url访问完成免登录。
SSO单点登录开发遇到的问题
问题一
A网站提供一个页面供其它网站进行Iframe调用,该页面使用了SESSION,并进行了SESSION判断。
B网站IFRAME了A网站的页面,总显示SESSION过期,但直接在浏览器中打开该页面却又是正常的。
这是由于浏览器的安全性所致,SESSION依赖于COOKIE,A与B是二个完全不同的域,A网站没法去读取B网站下的COOKIE,所以 SESSION也就失效了。
解决办法:
A网站的页面在输出头上附加一个P3P属性,值为CP=CAO PSA OUR即可。
如:
<?php问题二
Response.AddHeader("P3P", "CP=CAO PSA OUR");
if (Session[SESSIONKEY] == null)
{
//TODO:其它操作
}
在IE中,页面通过FRAME,JS,IMG等引用其他域名页面的时候,P3P协议会阻止引用也的COOKIE。
举例说明:
在 B.COM中,
此时,test.php中产生的COOKIE将会被阻止,而不会记录下来
这种情况下,我们引入P3P header ,情况就改变喽~
P3P header允许跨域访问隐私数据,从而可以跨域set-COOKIE成功
在 www.a.com/test.php中这样写:
<?php
header(\'P3P: CP="CURa ADMa DEVa PSAo PSDo OUR BUS UNI PUR INT DEM STA PRE COM NAV OTC NOI DSP COR"\');
COOKIE就可以跨域了。
网友回复
有没有不依赖embedding向量的RAG技术?
有没有支持实时打断语音通话并后台帮你执行任何的ai模型?
开源ai大模型文件格式GGUF、MLX、Safetensors、 ONNX 有什么区别?
出海挣钱支付收款PayPal、Wise 、PingPong、Stripe如何选择?
如何实现类似google的图片隐形水印添加和识别技术?
linux上如何运行任意windows程序?
ai能写出比黑客还厉害的零日漏洞等攻击工具攻击任意软件系统工程?
js如何获取浏览器的音频上下文指纹、Canvas指纹、WebGL渲染特征?
为啥ai开始抛弃markdown文本,重新偏好html文本了?
网站有没有办法鉴别访问请求是由ai操控chrome-devtools-mcp发出的?


