一、简介和区别
-
SSO, single sign on,单点登录。sso多用于多个应用之间的切换,例如百度论坛、百度知道、百度云、百度文库等,在其中一个系统中登录, 切换到另一个系统的时候,不必再次输入用户名密码。
-
oauth2.0,开放授权,不兼容oauth1.0.允许第三方应用代表用户获得访问权限。可以作为web应用、桌面应用和手机等设备提供专门的认证流程。例如,用qq账号登录豆瓣、美团、大众点评;用支付宝账号登录淘宝、天猫等。
-
区别:sso和oauth2.0在应用场景上的区别在于,SSO是为了解决一个用户在鉴权服务器登陆过一次以后,可以在任何应用(通常是一个厂家的各个系统)中畅通无阻。OAuth2.0解决的是通过令牌(token)而不是密码获取某个系统的操作权限(不同厂家之间的账号共享)。
二、SSO(CAS)
传统的多应用切换,面临 cookie 跨域和session共享的问题,只要解决了上面两块问题都可以是实现SSO。
下面介绍了一种单点登录的方式CAS(中央认证服务Central Authentication Service)
1、CAS主要特征:
- CAS服务是保障各业务系统的用户资源的安全 。
- 各个业务系统获得的信息是,这个用户能不能访问我的资源。
- 单点登录,资源都在各个业务系统这边,不在CAS服务那一方。 用户在给CAS服务器提供了用户名密码后,作为业务系统并不知