第2-2-3章 常见组件与中台化-常用组件服务介绍-注册登录服务
2.2 注册登录服务
https://download.csdn.net/download/weixin_42208775/86962229
2.2.1. 功能概述
登录认证几乎是任何一个系统的标配,web 系统、APP、PC 客户端等都需要注册、登录、认证。
以淘宝为例,如果我们想要下单,首先需要注册一个账号。拥有了账号之后,我们需要输入用户名、密码完成登录过程。之后如果你在一段时间内再次进入系统,是不需要输入用户名和密码的,只有在长时间不登录的情况下访问系统才需要再次输入用户名和密码。
本服务提供多种登录方式:用户名密码登录、手机验证码登录、邮箱登录、微信扫码登录、微博登录、qq登录,登录成功自动完成注册。
工程结构:
项目服务有两个:网关服务和注册登录服务
应用 | 端口 | 说明 | 启动命令 |
---|---|---|---|
auth-gateway | 8782 | 网关服务 | java -jar auth-gateway.jar & |
auth | 8783 | 注册登录服务 | java -jar auth.jar & |
项目依赖环境:
- mysql
- redis
- nacos
2.2.2. 应用场景
针对互联网用户:
- 用户名密码登录/注册
- 手机验证码登录/注册
- 电子邮箱登录/注册
- 微信登录/注册
- 微博登录/注册
- qq登录/注册
2.2.3. 使用说明
第一步:部署网关服务和注册登录服务并成功启动
第二步:开发自己的业务应用
第三步:在网关服务配置文件中配置路由规则,由网关服务进行jwt校验
spring:
cloud:
# 路由网关配置
gateway:
# 配置路由规则
routes:
# 采用自定义路由 ID(有固定用法,不同的 id 有不同的功能,详见:
- id: CUST-AUTH
# 采用 LoadBalanceClient 方式请求,以 lb:// 开头,后面的是注册在 Nacos 上的服务名
uri: lb://cust-auth
# Predicate 翻译过来是“谓词”的意思,必须,主要作用是匹配用户的请求,有很多种用法
predicates:
- Path=/cust/**
filters:
- StripPrefix= 1
# 配置其他业务微服务
- id: CUST-AUTH-DEMO
uri: lb://cust-auth-demo
predicates:
- Path=/demo/**
filters:
- StripPrefix= 1
# 配置其他业务微服务
- id: CUST-USER
uri: lb://cust-user
predicates:
- Path=/user/**
filters:
- StripPrefix= 1
第四步:修改业务应用页面,请求时需要将token放在请求头中提交