SSO
Single Sign-On,单点登录,允许用户一次登录几个相关联但独立的服务。
例如在淘宝(taobao.com)登录账号,就能够在访问天猫(tmall.com)、阿里巴巴(1688.com)时发现已经登录相同账号。
一种实现协议:SAML(Security Assertion Markup Language),开放标准,用于多方交换认证和授权信息。
单点登录实现中涉及三方:
- 用户(User)
- 身份提供商(Identity Provider,IdP)
用户在这里完成认证,生成SAML断言,发送给SPs - 服务提供商(Service Provider,SP)
为登录用户提供服务,对于未登录用户转到IdP完成登录
由IP、SPs统一SAML断言的格式和内容
流程简述
- 用户(客户端)在身份提供商处进行账号密码登录
- 身份提供商校验通过后,下发给客户端SAML断言(类似token)
- 用户访问服务提供商,客户端使用SAML断言作为凭证
- 服务提供商校验SAML断言有效则提供服务,无效则未登录,重定向到身份提供商。
什么是 SAML 断言?
SAML 断言是身份提供方发送给 SP 的 XML 文档,内含用户授权状态。 示例:azure