博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
介绍WS Federaion 二:把百度和谷歌和谐起来
阅读量:6234 次
发布时间:2019-06-22

本文共 891 字,大约阅读时间需要 2 分钟。

 

上文介绍了微软的Passport和传统的SSO在软件架构上的失败,都需要将用户名密码存储到一个地方,那样谁都不愿意,除非一方特别强势,不然谷歌和百度是谁都不愿意妥协的。

那么有什么办法来解决这个用户凭证的存储问题呢?

       先来看看欧洲各大申根国协定。协议规定了单一的签证政策,即凡外籍人士持有任何一个申根会员国核发的有效入境签证,可以多次进出其会员国,而不需另外申请签证。因此,前往欧洲各申根国旅行,只需获得其中一国的签证即可。基于SAML的Federation身份认证类似于申根签证,在Federation联盟的内部,每个成员签发的SAML断言都能够被其他联盟成员所信任,并且能够基于授权模式的保护资源资源访问。

再简单介绍一下SAML,他是Security Assertion Markup Language的缩写,安全断言标记语言。也是WS*规范的组成部分。

他由断言方和信任方以及用户身份主题组成。用户持有断言方的凭据向信任方报到,信任方基于证书签名,验证此用户持有的断言是否正确,而且是由断言方签署的断言。

举例百度空间用户想使用谷歌受保护的Gmail,那么他们之间怎么建立一个信任关系呢?

我用我不擅长的Visio画了序列图,大家不要见笑了。

其中的几个关键步骤:

第五步:用户在百度登录成功后百度颁发一个SAML安全令牌,这个令牌是使用的自己的私钥在摘要上签名的,那么能证明这个SAML就是百度签发的。

第七步:谷歌认证中心在接到百度颁发给用户的安全令牌后,使用百度的公钥解密摘要,并对比摘要是否一致,验证如果一致,那么就能确保这个断言是百度颁发的,并且信任这个断言。

(当然在这个流程设计中,谷歌的认证中心和Gmail可以是一个,而不必跳转浏览器。另外谷歌内部也可以不在内部维护一个安全令牌。)

百度的用户凭证存储在百度上,但是却能够访问谷歌的受保护资源,这样,就能把百度和谷歌的用户和谐了起来!

名词解释:

摘要:

即对数据进行哈希,哈希后字节量明显减少。

签名:

使用自己的私钥给数据加密,那么只要对方能够拿你的公钥解开,那么就证明是你的,因为没有人能获得你的私钥。

转载地址:http://rnzia.baihongyu.com/

你可能感兴趣的文章
嵌入式第九次
查看>>
201521123026 《JAVA程序设计》第12周学习总结
查看>>
heroku部署java web项目
查看>>
【转】Lesktop 1.0 ——开源JS控件库,WebIM和网盘
查看>>
java学习中,面向对象的三大特性:封装、继承、多态 以及 super关键字和方法的重写(java 学习中的小记录)...
查看>>
算法笔记--二分图判定
查看>>
第二阶段冲刺 NO.3
查看>>
六个前端开发工程师必备的Web设计模式/模块资源(转)
查看>>
(转)linux下和云端通讯的例程, ubuntu和openwrt实验成功(一)
查看>>
zoj3501
查看>>
7.Python 之禅(2-11)
查看>>
mysql主从复制
查看>>
JAVA中toString方法的作用
查看>>
string.h 中常用函数
查看>>
WebService 检测到有潜在危险的 Request.Form 值
查看>>
(十五)监听器
查看>>
java多线程基本概述(三)——同步块
查看>>
caioj 1087 动态规划入门(非常规DP11:潜水员)(二维背包)
查看>>
《Linux内核设计与实现》读书笔记(十八)- 内核调试
查看>>
Vue全局判断是否登陆
查看>>