本文主要是介绍乐优商城:笔记(十二):鉴权微服务——授权,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- 1 创建授权中心
- 1.1 创建父module
- 1.2 授权服务的通用模块:ly-auth-common
- 1.3 授权服务的业务模块:ly-auth-service
- 1.3.1 引入依赖
- 1.3.2 配置文件
- 1.3.3 启动类
- 1.3.4 修改路由
- 2 JWT工具类
- 2.1 RSA工具类:RsaUtils
- 2.2 常量类:JwtConstans
- 2.3 载荷:UserInfo
- 2.4 对象工具类:ObjectUtils
- 2.5 JWT工具类
- 3 编写授权登陆接口
- 3.1 生成公钥和私钥
- 3.2 controller
- 3.3 UserClient
- 3.4 service
- 4 登录
- 5 校验登录状态
- 5.1 controller
1 创建授权中心
授权中心的主要职责:
- 用户鉴权:
- 接收用户的登录请求,通过用户中心的接口进行校验,通过后生成JWT
- 使用私钥生成JWT并返回
- 服务鉴权:微服务间的调用不经过Zuul,会有风险,需要鉴权中心进行认证
- 原理与用户鉴权类似,但逻辑稍微复杂一些(此处我们不做实现)
因为生成JWT,解析JWT这样的行为以后在其它微服务中也会用到,因此我们会抽取成工具。我们把鉴权中心进行聚合,一个工具module,一个提供服务的module
1.1 创建父module
我们先创建父module,名称为:ly-auth-center,将pom打包方式改为pom
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><parent><artifactId>leyou</artifactId><groupId>com.leyou.parent</groupId><version>1.0.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><groupId>com.leyou.service</groupId><artifactId>ly-auth-center</artifactId><version>1.0.0-SNAPSHOT</version><modules><module>ly-auth-common</module></modules><packaging>pom</packaging>
</project>
1.2 授权服务的通用模块:ly-auth-common
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><parent><artifactId>ly-auth-center</artifactId><groupId>com.leyou.service</groupId><version>1.0.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><groupId>com.leyou.service</groupId><artifactId>ly-auth-common</artifactId><version>1.0.0-SNAPSHOT</version>
</project>
1.3 授权服务的业务模块:ly-auth-service
1.3.1 引入依赖
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><parent><artifactId>ly-auth-center</artifactId><groupId>com.leyou.service</groupId><version>1.0.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><groupId>com.leyou.service</groupId><artifactId>ly-auth-service</artifactId><version>1.0.0-SNAPSHOT</version><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId>
这篇关于乐优商城:笔记(十二):鉴权微服务——授权的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!