Spring cloud gateway+JWT+服务间鉴权实战

一 代码位置
https://github.com/cakin24/spring-cloud-code/tree/master/ch15-1
二 流程
Spring cloud gateway+JWT+服务间鉴权实战_第1张图片
三 测试
1 启动 eureka-service
2 启动 gateway
3 启动 client-service
4 启动 provider-service
5 测试设计
代码中写死了3个用户:admin(具有client-service和provider-service访问权限),spring(具有client-service访问权限),cloud(无任何权限)
6 用一个不存在的用户abc进行测试
6.1 获取token: postman调用: localhost:9001/getToken/abc
token如下:
Bearer eyJhbGciOiJIUzUxMiJ9.eyJpZCI6ODMzMDI5MTgxLCJ1c2VyIjoiYWJjIn0.-5o9G5fR3knrjq-xTYhZdKPLztJpnTyP7WwSzWsEUYn5rURGuBjvz8qzdD97FGXjt70NRNO1a3_ipFIL8-pvfg

6.2 访问client-service的 /test

Spring cloud gateway+JWT+服务间鉴权实战_第2张图片
7 用cloud用户进行测试
7.1 获取token: postman调用: localhost:9001/getToken/cloud
token如下
Bearer eyJhbGciOiJIUzUxMiJ9.eyJpZCI6LTg2NzQwMDY5MSwidXNlciI6ImNsb3VkIn0.IX0JJCiL1oODrfE_W4uA1scdYq7zWWDTp3sJlr-_KlOKl0BKe3N8n6ARdELeDXoKyXjXJVUZhTYSr0nZ1bSHOQ

7.2 访问client-service的 /test

Spring cloud gateway+JWT+服务间鉴权实战_第3张图片
8 用spring用户进行测试
8.1 获取token:postman调用: localhost:9001/getToken/spring
token如下
Bearer eyJhbGciOiJIUzUxMiJ9.eyJpZCI6LTIwNjgzMjM5MiwidXNlciI6InNwcmluZyJ9.LRWHzPvprHMDfpg3BZTeM9lGwjZb-Mvd-wTSHiUbRZCDwrM_YMj7ln_OK4ZX0Bs6y7E4bJeE3KBraMG8ZAAttg
8.2 访问client-service的 /test
Spring cloud gateway+JWT+服务间鉴权实战_第4张图片
8.3 访问client-service的 / accessProvider
Spring cloud gateway+JWT+服务间鉴权实战_第5张图片
9 用admin用户进行测试
9.1 获取token:postman调用: localhost:9001/getToken/admin
token如下
Bearer eyJhbGciOiJIUzUxMiJ9.eyJpZCI6NzE1Njg3MDU0LCJ1c2VyIjoiYWRtaW4ifQ.lQ4gO-MGbg3OV-8uW9FXcOK7iX4VoxOflMPRg1FTxQywe17lv_RWlLl73_G8GiEkDsSBrjCUk5ItaWM6410Dnw
9.2 访问 client-service的 / accessProvider
权限通过。
Spring cloud gateway+JWT+服务间鉴权实战_第6张图片
 

你可能感兴趣的:(微服务)