OpenID Connect、SAML、WS-Federation和/或OAuth2.0

 

 

OpenID Connect、SAML、WS-Federation和/或OAuth2.0


SAML协议
1、IDP有自己的私钥以及对应的公钥证书
2、SP也有自己的私钥以及对应的公钥证书。
3、在SAML协议运转之前,IDP和SP提前交换自己的公钥证书(实际上还有协议的其他内容,这里仅是简化的模型),这个过程通常是由企业的IT管理员配置完成。
4、由于企业IT管理员是可被信任的,所以IDP和SP分别的公钥也被认为是可以被信任的,因此公钥证书可以不再由权威机构颁发,而是由企业IT管理员自己进行签发,这种证书被叫做自签名证书。
5、IDP和SP通过彼此交换自签名证书,就完成了对彼此的信任。
6、这种信任就是SAML协议的基石:使用对方公钥能够解密的信息一定是由对方加密产生,因为对方是私钥的唯一持有者。即,SP收到的消息如果能够用IDP的公钥解密,那么说明收到的消息一定来自IDP。同理,IDP收到的消息如果能够用SP的公钥解密,那么说明收到的消息一定来自SP。

统一登录认证过程
1. Client通过账号密码登陆到IDP,并告知IDP自己想要登陆SP站点,可否帮助提供下证明。
2.IDP非常愿意为自己的用户提供合法的身份证明。于是就发了一个消息(SAML中叫做断言Assertion)给Client。并且和Client说,你把这个断言出示给SP站点就可以登陆了。
3. Client向SP站点发送了登陆请求,并把IDP颁发的断言出示给了SP。
4.SP站点果然“认识”IDP提供的断言,并允许Client登陆自己的站点。(当Client将断言出示给SP时,SP根据断言中的信息找到其颁发者IDP,并从自己的数据库中找到IDP对应的公钥证书。如果证书中的公钥能够验证断言中的签名,就说明当前断言是IDP颁发的,是可以被信任的。而断言中包括了“当前用户是谁”这样的信息。因此,Client就能够成功登录到SP站点。)

posted @ 2022-10-19 13:51  microsoft_xin  阅读(102)  评论(0编辑  收藏  举报