Higress 之 JWT-Auth 微服务网关统一鉴权
概要
上编文章,应用接入了 Higress 网关
展示了 Higress --> Nacos --> demo-app --> demo-infra --> MySQL MGR
本篇,为应用接入鉴权,验证用户身份,保障资源API访问安全。
代码展示
构建文件添加
implementation 'org.bitbucket.b_c:jose4j:0.9.3'
创建 classpath privateKeyJson.json,publicKeyJson.json
运行 JWTHelper#rsaJsonWebKey 方法,对应日志生成存入 json文件
JWT 生成,登录认证方法调整
@Slf4j
@NoArgsConstructor(access = AccessLevel.PRIVATE)
public class JWTHelper {
@SneakyThrows
public static void rsaJsonWebKey() {
RsaJsonWebKey rsaJsonWebKey = RsaJwkGenerator.generateJwk(2048);
final String publicKeyJson = rsaJsonWebKey.toJson(JsonWebKey.OutputControlLevel.PUBLIC_ONLY);
final String privateKeyJson = rsaJsonWebKey.toJson(JsonWebKey.OutputControlLevel.INCLUDE_PRIVATE);
log.info("publicKeyJson: {}", publicKeyJson);
log.info("privateKeyJson: {}", privateKeyJson);
}
@SneakyThrows
public static String generateJwt(Map