sso - 单点登录,系统如何区分是哪个用户在请求令牌?

查看:538
本文介绍了sso - 单点登录,系统如何区分是哪个用户在请求令牌?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

第一次了解sso系统,有个疑问。
假设存在ab两个域名完全不同的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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆