从零搭建微服务-网关中心(一)

news/2024/11/22 16:49:13/

写在最前

如果这个项目让你有所收获,记得 Star 关注哦,这对我是非常不错的鼓励与支持。

源码地址:https://gitee.com/csps/mingyue

文档地址:https://gitee.com/csps/mingyue/wikis

新建 mingyue-gateway

在 【从零搭建微服务-注册中心(二)】中就建好了模块

核心依赖

<!-- SpringCloud Gateway,内置 webflux 依赖-->
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-gateway</artifactId>
</dependency><!-- LB 扩展 -->
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-loadbalancer</artifactId>
</dependency>

核心配置

保存到 application.yml 或 nacos 中都可以

spring:cloud:# 网关配置gateway:# 打印请求日志(自定义)requestLog: truediscovery:locator:enabled: trueroutes:# 认证中心- id: mingyue-authuri: lb://mingyue-authpredicates:- Path=/auth/**filters:- StripPrefix=1

测试网关

启动 mingyue-auth

直接调用登录接口: http://localhost:9000/oauth2/token

curl --location --request POST 'http://localhost:9000/oauth2/token?grant_type=password&client_id=1001&client_secret=aaaa-bbbb-cccc-dddd-eeee&username=sa&password=123456' \
--header 'User-Agent: Apifox/1.0.0 (https://www.apifox.cn)' \
--header 'Content-Type: application/json' \
--header 'Accept: */*' \
--header 'Host: localhost:9000' \
--header 'Connection: keep-alive'

返回结果:

{"code": 200,"msg": "ok","data": {"access_token": "xHJR3aIsYOZxZiCpbXzDjKMS32JfLV2m5jtme1gEsItvKR8ZiEZ3GUVkJBom","refresh_token": "O0SmM1Pb7MP18rE7Uz72MIY9uucCTBnAJ2CkWXCq4FeaTU7o8e0BPExfvQGX","expires_in": 7199,"refresh_expires_in": 2591999,"client_id": "1001","scope": "","openid": "gr_SwoIN0MC1ewxHX_vfCW3BothWDZMMtx__"}
}

启动 mingyue-gateway

间接调用(通过网关)登录接口:http://localhost:9100/auth/oauth2/token

curl --location --request POST 'http://localhost:9100/auth/oauth2/token?grant_type=password&client_id=1001&client_secret=aaaa-bbbb-cccc-dddd-eeee&username=sa&password=123456' \
--header 'User-Agent: Apifox/1.0.0 (https://www.apifox.cn)' \
--header 'Content-Type: application/json' \
--header 'Accept: */*' \
--header 'Host: localhost:9100' \
--header 'Connection: keep-alive' \
--header 'Cookie: Authorization=d7dc6f87-bf4a-4903-ad6c-2ac668f5e5a7'

返回结果:

{"code": 200,"msg": "ok","data": {"access_token": "PRMy2RJXTA8SAtHChWLXYRHfANQiOeFPxyfilCdUnz8j0oZrnpXZqkkh06BB","refresh_token": "najLtYrf2SZhtsayHTKEeG5yVeZEmcgu7ePVf00C8QcX0uVjh8yw2SaH8INP","expires_in": 7199,"refresh_expires_in": 2591999,"client_id": "1001","scope": "","openid": "gr_SwoIN0MC1ewxHX_vfCW3BothWDZMMtx__"}
}

改造 mingyue-ui

1.修改 vite.config.ts

http://localhost:9000 => http://localhost:9100

'/api': {target: 'http://localhost:9100/',ws: true,changeOrigin: true,rewrite: (path) => path.replace(/^\/api/, ''),
},

2.修改登录相关接口地址

src/api/login/index.ts

signIn: (data: object) => {let client_id = 1001;let grant_type = 'password';let client_secret = 'aaaa-bbbb-cccc-dddd-eeee';// TODO 规范入参类型let username = data.username;let password = data.password;return request({url: '/api/auth/oauth2/token',method: 'post',params: {grant_type, client_id, client_secret, username, password}});},
signOut: () => {let client_id = 1001;let client_secret = 'aaaa-bbbb-cccc-dddd-eeee';let access_token = Session.get('token');// 调用回收 Access-Token 接口return request({url: '/api/auth/oauth2/revoke',method: 'post',params: {client_id, client_secret, access_token}});}

3.启动测试

可以登录、登出即可~

小结

至此,我们已经完成了 mingyue-ui => mingyue-gateway => mingyue-auth,如下图流程所示:

image-20230531201001455

接下来,我们我们开始编写 mingyue-system 用户相关模块,改造 mingyue-auth 用户查询走数据库。


http://www.ppmy.cn/news/209069.html

相关文章

酷睿处理器(cpu)的型号分别代表什么?

酷睿处理器&#xff08;cpu&#xff09;的型号分别代表什么&#xff1f;如何从型号上来判断处理器的性能和好坏区分它们的档次&#xff1f; 1. Intel所有CPU都分为du高、中zhi、低三档&#xff0c;分别是i7、i5、i3&#xff0c;在这个档次后面dao还会跟着小型号。 2. 第一位代…

英特尔服务器主板型号哪里看,intel cpu型号参数如何查看

intel cpu型号参数如果想要查看下!那么我们要用什么方法去查看呢?下面由学习啦小编给你做出详细的intel cpu型号参数查看方法介绍!希望对你有帮助! intel cpu型号参数查看方法一 以Intel 酷睿i7 4710HQ处理器为例&#xff1a; intel是品牌名称; 酷睿i7&#xff0c;是系列名称;…

linux如何查看cpu型号

linux系统下!想要查看下cpu型号!用什么方法查看好呢下面由学习啦小编给你做出详细的linux查看cpu型号方法介绍!希望对你有帮助! linux查看cpu型号方法一 [rootsubvm ~]# less /proc/cpuinfo |grep model model : 4 model name : Intel Xeon™ CPU 3.00GHz model : 4 model…

计算机市场最主流的cpu,当前主流市场上有哪些CPU型号?

w404484343 在上个世纪&#xff0c;AMD和Intel CPU没有太大区别&#xff0c;因为当时的主流CPU是Intel的80x86 CPU。包括AMD在内的CPU也以x86命名。 现在AMD和Intel的CPU有很大的不同。 x86架构是Intel的专利&#xff0c;但是由于与AMD的早期合作&#xff0c;它被授权给AMD。 A…

Cpu 常见系列以及型号

Intel旗下 赛扬&#xff08;Celeron&#xff09;——桌面低端 奔腾&#xff08;Pentium&#xff09;—— 桌面中端 酷睿 (Core)——桌面高端 至强&#xff08;Xeon&#xff09;——服务器中端 安腾&#xff08;Itanium&#xff09;——服务器高端 凌动&#xff08;Atom&#xf…

Intel CPU型号规格大全 (2007.08)

Intel CPU型号规格大全 (2007.08) 本文档的Copyleft归yfydz所有&#xff0c;使用GPL发布&#xff0c;可以自由拷贝&#xff0c;转载&#xff0c;转载时请保持文档的完整性&#xff0c; 严禁用于任何商业用途。 msn: yfydz_no1hotmail.com 来源&#xff1a; http://yfydz.cublog…

cpu型号列表

【台式机 CPU 型号】 4004 4040 8086 8088 80186 80286 80386 80486 Pentium (奔腾) Pentium Pro Pentium 2 Celeron (赛扬) Pentium 3 (奔腾 3) Pentium 4 (奔腾 4) Pentium 4 Extreme Edition (奔腾 4 极致版) //extreme 极致 edition 版本Celeron D (赛扬 D) Pentium …

CPU型号查询一览表

ADM_CPU型号规格闪龙2800(散)Socket-AM2 1600MHz/128KB闪龙2800(盒)Socket-AM2 1600MHz/128KB闪龙3000(散)Socket-AM2 1600MHz/256KB闪龙3000(盒)Socket-AM2 1600MHz/256KB闪龙3200(散)Socket-AM2 1800MHz/128KB闪龙3200(盒)Socket-AM2 1800MHz/128KB闪龙3400(散)Socket-AM2 18…