sso
2023-02-02 12:03:02 19 举报
Web端sso实现流程
作者其他创作
大纲/内容
SSO逻辑流程图
登入流程
跳转URL
收到请求
客户浏览器
跳转到原始请求URL,
接收到客户端请求
退出当前站点
让客户浏览器跳转到原始网站的鉴权URL(如:www.a.com/login/{授权标识}}www.a.com/login/udfjgee)
退出认证中心
判断登入状态cookie是否有效
跳转指定URL
验证并返回相关信息
每隔5分钟到认证中心刷新一下超时时间
收到跳转请求
跳转回原站点指定URL(如:www.a.com/index.html)
否
当前站点退出成功
有效
打开URL
执行相关退出操作
无
显示登入界面,进行认证
认证中心(www.sso.com)
让客户端跳转到认证中心指定地址,进行认证。一般是登入页面兼容这个功能(如:www.sso.com/login/{站点标识}}www.sso.com/login/a)
站点A(www.a.com)
收到鉴权请求
判断授权标识是否有效
依次访问和系统关联的站点,对站点进行退出操作。
是否必须登入
这块需要特别强调,认证状态必须设定超时时长。否则一个月后,再次打开电脑,还是登入状态会有安全问题。 如果用户没有,操作退出功能,但是长时间没有访问,我们认为人员可能关闭浏览器并离开了。这个时候会执行“退出流程”。但是用户一般情况下是在某个站点操作,而不是一直刷认证中心的域名。所以这个时候需要,授权站点,定时更新登入状态。但是不要特别频繁,否则会给认证中心造成压力,建议几分钟刷一次,即可。 其次,大部分站点也会设置自己的登入超时时长,那么这块有2个问题,1.就是如果在用户站点登入超时了,不要执行退出请求,因为用户可能在操作其他页面。2.这个时长不应该比认证中心的超时时间更长,否则会被退出。
收到退出请求
用户操作退出流程
退出用户登入状态
跳转到认证中心退出URL(www.sso.com/span style=\
打开默认页面
放行,正常后续操作
SSO要保证多个跨域站点,登入同步,退出同步
请求站点中的URL
退出流程
跳转到指定页面(如:www.a.com)
进行本地站点登入操作。如写入cookie和session等操作。
1.要防止撞库.2.标识鉴定是为了防止,标识伪造
用户登入状态超时
刷新授权超时时间
异步
继续访问最初请求的网址
请求认证中心,鉴定授权标识的授权信息。(如,授权是否有效,授权账号,授权时间,有效期,等)
收到用户请求
跳转到默认未登入页面页面
考虑到服务器兼容,标识不要区分大小写
cookie无效包括:无cookie,cookie超时,cookie有效但是状态为已退出
0 条评论
下一页