Oauth vs SSO

OAuth vs SSO

OAuth概念

oAuth是Open Authorization的简写,分为oAuth服务端和oAuth客户端,比如Github可以允许第三方应用来使用Github快捷登录,这个属于oAuth服务端,是需要程序员自己开发的;比如我们需要开发一个应用比如叫XX,需要接入Github登录,那么就需要开发oAuth的客户端来实现Github快捷登录。

SSO概念

单点登录(Single Sign On),就是通过用户的一次性鉴别登录。通常用于一个大的集团内部的多个系统,统一管理鉴权和授权。

相同点

都会涉及到授权Authorization

不同点

SSO的资源都是同一主体, 多个内部服务共享鉴权和授权;
OAuth的资源则属于两个不同的主体,和外部服务之间交换授权。

OAuth的四种模式

模式名称优点缺点场景
授权码授权模式安全,token过期可以刷新请求次数多
隐式授权模式简单不安全,token过期问题
密码模式不需要多次请求转发,额外开销,同时可以获取更多的用户信息认证服务器和应用方必须有超高的信赖自家公司搭建的认证服务器
客户端凭证模式最方便最不安全的模式完全信任的服务器端服务

OAuth里的相关主体

  • Resource owner: 资源所有者,即用户
  • Resource server: 拥有资源信息的服务器,通常和授权服务器属于同一应用
  • Authorization server: 授权服务器,即提供第三方登录服务的服务器,如Github
  • Client Application:第三方应用,我们的应用就是一个Client

其他概念

JWT: 用户身份验证技术

CAS: SSO的一种实现思想,另外还有基于Cookie

参考

  1. https://www.ruanyifeng.com/blog/2019/04/oauth_design.html
  2. https://stormpath.com/blog/what-the-heck-is-oauth
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值