OAuth2 定义的四种授权模式
一、客户端凭证(client credentials)
次模式通常用于机器与机器之间进行通信。适用于没有web的应用。这种方式针对第三方应用,令牌即可能被共享。
根据 client ID 和 secret 申请令牌。
二、密码式(password)
次模式适第三方,会拿着用户的账号密码,向第三方申请令牌。这种方式适用于其他模式都无法采用的情况下。
三、隐藏式(implicit)
这种模式适用于没有后台的前端,即纯前端。这种方式令牌直接传到前端,适用于安全性不高的场景。
四 、授权码(authorization code)
授权码是指第三方先拿着client ID申请一个授权码,然后拿着授权码和secret申请得到一个令牌。
这种方式是比较常用的,也是最安全的,比较适用于有后端的Web应用。如第三方登录。
OAuth2 协议中的四种角色
一、资源拥有者
对资源拥有访问能力的实体,即用户。
二、客户端
在授权的情况下,代表资源拥有者,对受保护资源进行访问。
三、授权服务
对已备案的客户端,进行授权,颁发通信令牌。
四 、受保护资源
托管受保护的资源,可以接受并响应使用访问令牌对受保护资源的请求。
注意
无论哪种授权模式,第三方都必须到授权服务方备案。