1.创建父工程
2.创建资源模块
2.1 创建工程并导入依赖
2.2 创建配置文件
2.3 创建启动类
2.4 创建处理器
3.创建授权模块
3.1 创建工程并导入依赖
3.2 创建配置文件
3.3 创建启动类
3.4 创建配置类
3.5 创建OAuth2授权配置类
4.测试
4.1 授权码模式测试
在地址栏访问地址
http://localhost:9001/oauth/authorize?response_type=code&client_id=heima_one
跳转到SpringSecurity默认认证页面,提示用户登录个人账户【这里是sys_user表中的数据】
PLEASESIGNIN
NLOCALHOST:9O01/LOGI
PASSWORD
SIGNIN
二常用网址
USERNAME
Q搜索
OS
8
登录成功后询问用户是否给予操作资源的权限,具体给什么权限。Approve是授权,Deny是拒绝。
这里我们选择read和write都给予Approve。
OAUTHAPPROVAL
NLOCALHOST:9OO1/OAUTH
CALHOST:9001/OAUTH/AUTHORIZE
CESSYOURPRROTECTEDRESOUR
狐官方站点常
APPROVE
AUTHORIZE
SCOPEWRITE:
DOYOUAUTHORIZE
SCOPE,READ:
ODENR
OST:9001JOAUTH/AUTHORIZE?RESPONSETYPE=CODE&CLLENTID=HEIMAONE
HEIMAONE
ODEN
JAPPROVE
最常访问
点击Authorize后跳转到回调地址并获取授权码
音信
授权码在此
HTTPS:/WWW.BAIDU.COM/?CODE
百度一下
搜索
常用网址
器
HAO123
Q71PIR
新位
6
地图
使用授权码到服务器申请通行令牌token
"REFRESHTOKEN":"6EEED97E-DDD3-4C9B-99AF-2BFE62C1BBD4"
HTTP://LOCALHOST:9001/OAUTH/TOKEN
指定授权码模式
NKEN":MBHF6RE3A-146F-40C7-95AB-C817B6EA4BD1"
MEXPIRESIN":43199.
客户端账号
SCOPE":NREADWRITE
TOKENTYPER:RBEARER"
X-WWW-FORM-URLENCODED
NACCESSTOKENN:NOBF6C
用户账号
AUTHORIZATION_CODE
授权码
XIAOMING
通行令牌
PRE-REGUESTSCRIPT
USERNAME
TESTRESULTS
ADERSBODY
HEADERS(8)
COOKIES(1)
AUTHORIZATION
HEIMA_ONE
FORM-DATA
Q71PIR
SON
GRANT_TYPE
CLIENTSECRET
PASSMWORD
CLIENTID
RAW
PRETTV
POST
PREVIEW
CODE
NEWKEY
BINARY
VALUE
VALUE
BODY
RAW
TESTS
123
123
KEY
3
6
1V
重启资源服务器,然后携带通行令牌再次去访问资源服务器,大功告成!
ACCESS_TOKEN-0BF6CE3A-146F-40C7-95AB-C817B6EA4BD1
查询产品列表成功!
TTP://LOCALHOST9002PRODUC
PREVIEW
PRETTY
TEXT
GET
RAW
4.2 简化模式测试
在地址栏访问地址
http://localhost:9001/oauth/authorize?response_type=token&client_id=heima_one
由于上面用户已经登录过了,所以无需再次登录,其实和上面是有登录步骤的,这时,浏览器直接返回了token
OM#ACCESSTOKEN=0BF6CE3A-146F-40C7-95AB-C817B6EA4BD1&TOKEN
HTTPS:/WWW.BAIDU.COM
E
国
9
百度一下
HAO123
搜索
食
常用网址
23地图
新闻
器
O
直接访问资源服务器
HTTP:/LOCALHOST:9002/PRODUCT?ACCESSTOKEN=0BF6CE3A-146F-40C7-95AB-C817B6EA4BD1
查询产品列表成功!
PREVIEW
GET
TEXT
PRETTV
RAW
4.3 密码模式测试
申请token
"REFRESHTOKEN":"6EEED97E-DDD3-4C9B-99AF-2BFE62C1BBD4"
HTTP://LOCALHOST:9O01/OAUTH/TOKEN
"ACCESSTOKEN":"0BF6CE3A-146F-40C7-95AB-C817B6EA4BD1",
NEXPIRESINM:42705S
改成密码模式
PRE-REQUESTSCRIPT
TOKENTYPEN:NBEARER
AUTHORIZATION
X-WWW-FORM-URLENCODED
SCOPEN:NREADWRITE
HEADERS
POST
XIAOMING
HEADERS(8
OOKIES(1)
BODY
HEIMA_ONE
USERNAME
ORNM-DATA
TESTRESULTS
三
PASSWORD
GRANT_TYPE
PASSWORD
CLIENT_SECRET
PREVIEW
CLIENTID
TESTS
NEWKEY
BODY
JSON
PRETTY
123
VALUE
BINARY
RAW
RAW
ALUE
1一
KEY
123
2
3
访问资源服务器
PACCESS_TOKEN-0BF6CE3A-146F-40C7-95AB-C817B6EA4BD1
查询产品列表成功!
TP://LOCALHOST:9002/PRODUC
PREVIEW
TEXTV
PRETTY
GET
司
RAW
4.4 客户端模式测试
申请token
ACCESSTOKENM:"422E36AC-6CB9-4453-935F-CBCA0E55409A".
HTTP://LOCALHOST:9001/OAUTH/TOKEN
TOKENTYVPE:BEARERN
MEXPIRESIN":43199
PRE-REQUESTSCRIPT
CLIENT_CREDENTIALS
X-WWW-FORM-URLENCODED
TESTRESULTS
SCOPE":"READWRITE
HEADERS(8)
HEIMAONE
COOKIES1)
AUTHORIZATION
GRANT_TYPE
CLIENTID
HEADERS
FORM-DATA
BODY
CLIENT_SECRET
BINARY
BODY
PREVIEM
NEWKEY
POST
5ON
TESTS
VALUE
VALUE
KEY
RAW
三
PRETTY
123
RAW
访问资源服务
HTTP:/LOCALHOST:9002/PRODUCT7ACCESS_TOKEN-422E36AC-6CB9-4453-935F-CBCA0E55409A
查询产品列表成功!
PREVIEW
TEXT
PRETTY
RAW
GET