Skip to content
导航

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断言的格式和内容

流程简述

  1. 用户(客户端)在身份提供商处进行账号密码登录
  2. 身份提供商校验通过后,下发给客户端SAML断言(类似token)
  3. 用户访问服务提供商,客户端使用SAML断言作为凭证
  4. 服务提供商校验SAML断言有效则提供服务,无效则未登录,重定向到身份提供商。

什么是 SAML 断言?

SAML 断言是身份提供方发送给 SP 的 XML 文档,内含用户授权状态。 示例:azure

参考资料