SpringSecurity三:OAuth协议和SpringSocial

一、OAuth协议

1、OAuth协议简介

0:用户访问第三方应用:。
1:第三方应用请求用户授权服务信息。
2:用户若不同意授权,流程结束;若同意授权继续下面的步骤。
3:第三方应用向服务提供商申请令牌。
4:确认用户有授权,则向第三方应用发放令牌。
5:有了令牌,就可以向服务提供商申请某些资源。
6:服务提供商确认令牌无误后向第三方应用开放资源。
SpringSecurity三:OAuth协议和SpringSocial

OAuth协议中的各种角色
OAuth协议运行流畅

2、OAuth协议中的授权模式

SpringSecurity三:OAuth协议和SpringSocial
我们主要介绍授权码模式,因为授权码模式是主流模式。

2.1、OAuth协议中的授权码模式

SpringSecurity三:OAuth协议和SpringSocial

2.2、相对其他模式的特点:

1、授权是在服务提供商上完成的。能保证用户是否真的有授权了,安全性很高。
2、用户同意授权后,服务提供商没有直接返回令牌,而是返回了授权码,需要第三方应用服务器再发请求申请令牌,这也提高了安全性。

这种模式是功能最完整,流程最完善,安全性最高的,所以是应用最多的。

二、SpringSocial

1、SpringSocial基本原理

SpringSocial是基于OAuth协议实现的,流程图如下:
SpringSecurity三:OAuth协议和SpringSocial
现在都是用OAuth2,国内没有用OAuth1的
SpringSecurity三:OAuth协议和SpringSocial