码上敲享录 > java面试题及答案大全 > 说一下SSO 单点登录和 OAuth2.0 的区别

说一下SSO 单点登录和 OAuth2.0 的区别

上一章章节目录下一章 2023-07-12已有168人阅读 评论(0)

单点登录(Single Sign-On,SSO)和OAuth 2.0是两种不同的认证和授权机制,它们有以下区别:


1. 目的和用途:

  - SSO的主要目的是让用户只需登录一次,即可在多个相关应用或系统中访问资源,无需重复认证。SSO的重点是减少用户的登录次数和提高用户体验。

  - OAuth 2.0的主要目的是授权第三方应用访问用户在某个系统中的受保护资源,这种机制被广泛应用于互联网服务和API的安全访问。OAuth 2.0关注的是身份验证和授权的流程。


2. 授权的角色和流程:

  - SSO通常涉及一个身份提供者(Identity Provider,IdP)和多个服务提供者(Service Providers,SP)。用户通过与IdP进行一次成功的认证,然后可以使用生成的令牌(如Session Cookie或SAML断言)在多个SP之间进行无缝访问。

  - OAuth 2.0包含一个授权服务器(Authorization Server)和一个或多个客户端应用程序(Client)。用户授权在某个客户端应用程序中访问特定资源,并且认证服务器颁发访问令牌(Access Token),客户端应用程序使用这个访问令牌来访问受保护的资源服务器。


3. 安全性级别:

  - SSO在认证流程中常常使用传统的用户名和密码进行身份验证,相对来说安全性较低。虽然也可以采用其他安全机制来提高安全性,如多因素身份验证。

  - OAuth 2.0使用了更强的安全机制,如令牌(Token)和密钥(Secret)进行认证和授权,可以通过OAuth的各种流程来确保对资源的安全访问。


4. 适用范围:

  - SSO通常适用于企业内部不同应用系统之间的用户无缝访问,以及不同域的应用程序之间的身份集成。

  - OAuth 2.0主要适用于互联网服务和第三方应用程序之间的安全资源访问,允许用户通过授权来管理数据和资源的访问权限。


综上所述,SSO和OAuth 2.0是两种不同的认证和授权机制。SSO旨在实现用户在多个应用之间的无缝访问,减少登录次数,提高用户体验;而OAuth 2.0主要用于授权第三方应用访问用户在某个系统中的受保护资源。它们在目的、流程和安全性方面有区别,并在不同场景下有不同的适用范围。


希望以上信息对你有所帮助。如果还有其他问题,请随时提问。


向大家推荐《Activiti工作流实战教程》:https://xiaozhuanlan.com/activiti
0

有建议,请留言!

  • *您的姓名:

  • *所在城市:

  • *您的联系电话:

    *您的QQ:

  • 咨询问题:

  • 提 交