sso - 单点登录,系统如何区分是哪个用户在请求令牌?
本文介绍了sso - 单点登录,系统如何区分是哪个用户在请求令牌?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
第一次了解sso系统,有个疑问。
假设存在a和b两个域名完全不同的server,c作为认证中心负责分发token/ticket。
这时用户X取得了c的认证登录了a站,然后不从a直接转跳到b,而是从新页面打开b,b这时如何知道当前要登录的用户是X而不是W,Y,Z呢?
解决方案
假设登录信息保存在 session 中
有 a.com,b.com,c.com 三个网站
在 a.com 点击登录,跳转到 c.com?returnUrl=http://a.com
输入帐号密码,然后使用 AJAX 进行验证,如果验证成功,返回一个 token,然后使用 AJAX 请求这俩个网站
如:
$.getJSON("http://a.com/login?token=xxxxxxx");
$.getJSON("http://b.com/login?token=xxxxxxx");
此时 a.com,b.com 根据传入的 token 参数往 c.com 进行校验,如果校验成功,在 session 中保存登录信息,此时直接打开 b.com,就会发现已经登陆了
这篇关于sso - 单点登录,系统如何区分是哪个用户在请求令牌?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文