单点登录的认证过程,我拿到票据了, 可以卖肉了吗?

我拿到票据了, 可以卖肉了吗?
SSO: 只能买一两, 不能再多了

单点登录的认证过程是如何的, 比方说单点登录服务D, 子系统A和B, A B D和浏览器之间是如何通信的

以下是单点登录(SSO)过程的详细步骤:

  1. 用户尝试访问子系统A。
  2. 子系统A检查用户是否已登录(例如检查本地会话)。
  3. 子系统A发现用户未登录,将用户重定向到单点登录服务D的登录页面。
  4. 用户在单点登录服务D的登录页面上输入用户名和密码。
  5. 用户提交登录表单。
  6. 单点登录服务D验证用户凭据。
  7. 验证成功后,单点登录服务D生成Token(如JWT)和子系统A的服务票据。
  8. 单点登录服务D将用户重定向回子系统A,并附加服务票据。
  9. 子系统A接收服务票据,并向单点登录服务D验证服务票据。
  10. 验证成功后,子系统A将用户标记为已登录,并允许访问资源。
  11. 用户尝试访问子系统B。
  12. 子系统B检查用户是否已登录。
  13. 子系统B发现用户未登录,但注意到浏览器已经有了来自单点登录服务D的Token。
  14. 子系统B将Token发送到单点登录服务D以验证其有效性。
  15. 单点登录服务D验证Token,并为子系统B生成服务票据。
  16. 单点登录服务D将服务票据发送回子系统B。
  17. 子系统B接收服务票据,并将用户标记为已登录。
  18. 用户现在可以访问子系统B的资源。

大概的过程如下:

单点登录的认证过程,我拿到票据了, 可以卖肉了吗?_第1张图片

单点登录(SSO)过程中, 子系统A接收服务票据,并向单点登录服务D验证服务票据, 为什么要进行这一步骤, 没有这一个步骤行不行

在单点登录(SSO)过程中,子系统A接收服务票据并向单点登录服务D验证服务票据这一步是确保安全性的重要步骤。这有以下几个原因:

  1. 防止伪造服务票据:验证服务票据可以确保票据是由单点登录服务D颁发的,而不是伪造的。如果不进行这个步骤,攻击者可能会伪造服务票据,尝试绕过身份验证过程,访问受保护的资源。

  2. 验证票据有效性:服务票据可能包含过期时间、签名等信息。通过验证服务票据,子系统A可以确保票据未过期且未被篡改。

  3. 获取用户信息:服务票据可能包含用户的相关信息(如用户ID、角色等)。子系统A可以通过验证服务票据来获取这些信息,并在处理请求时使用这些信息。

如果跳过这一步,子系统A将无法确认服务票据的真实性和有效性,从而可能导致安全漏洞。因此,在单点登录过程中,验证服务票据是非常重要的一环。

你可能感兴趣的:(分布式,服务器,安全,分布式)