https://github.com/iamazy/jwt-spring-cloud-starter
jwt接口保护组件
https://github.com/iamazy/jwt-spring-cloud-starter
jose4j jwt security springboot2 springcloud starter token
Last synced: 10 months ago
JSON representation
jwt接口保护组件
- Host: GitHub
- URL: https://github.com/iamazy/jwt-spring-cloud-starter
- Owner: iamazy
- Created: 2019-03-11T13:41:53.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2023-06-14T22:29:23.000Z (over 2 years ago)
- Last Synced: 2025-03-26T00:51:08.389Z (11 months ago)
- Topics: jose4j, jwt, security, springboot2, springcloud, starter, token
- Language: Java
- Size: 48.8 KB
- Stars: 4
- Watchers: 2
- Forks: 1
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Security: SECURITY.md
Awesome Lists containing this project
README
jwt-spring-cloud-starter
==========
这是一个可插拔式的jwt组件,为目标接口提供鉴权功能
1.使用的jwt库
---
```xml
org.bitbucket.b_c
jose4j
0.6.5
```
2.对外暴露接口
----
```java
public interface JwtUserMapper {
default JwtUser find(Map properties){
return null;
}
}
```
接口没有默认实现,用户将本插件集成进项目中后需要实现`JwtUserMapper`接口的`find`方法,并将其声明为一个JavaBean
例如:
```java
@Service
public class DefaultJwtUserMapper implements JwtUserMapper {
private List defaultUsers=new ArrayList(){
{
add(new JwtUser("1","tom",null));
}
};
@Override
public JwtUser find(Map properties) {
if(properties.containsKey("uid")) {
String uid=properties.get("uid").toString();
Optional any = defaultUsers.stream().filter(user -> user.getUid().equals(uid)).findAny();
return any.orElse(null);
}
return null;
}
}
```
3.Jwt默认Header名称(jwt-token)
--------
4.注解方式添加接口保护
--------
##### JwtToken(可作用于类和方法)
添加后接口访问需要提供token
##### TokenPassed(作用于方法)
添加后不需要提供token就可以访问,优先级最高
5.提供enable开关
-------
在`application.yml`文件中指定enable=true才会开启jwt鉴权功能,enable默认为false