# JwtGenerator **Repository Path**: lpx03/jwt-generator ## Basic Information - **Project Name**: JwtGenerator - **Description**: 一个Java应用程序,用于根据Nacos服务端的认证令牌生成JWT(JSON Web Token),以便使用该令牌操作Nacos。 - **Primary Language**: Unknown - **License**: AGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-29 - **Last Updated**: 2025-09-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 描述 > 根据NACOS服务端:NACOS_AUTH_TOKEN的值,获取NACOS的ACCESS_TOKEN,进行使用TOKEN进行操作Nacos # 构建 ## 构建:跳过测试Token是否正常 ```shell mvn clean package -DskipTests ``` ## 构建:测试Token是否正常 ```powershell # export JWT_SECRET_KEY="SecretKey012345678901234567890123456789012345678901234582254644945479" # export NACOS_API_URL="http://192.168.1.50:8848/nacos/v1/auth/users?pageNo=1&pageSize=9&search=accurate" $env:JWT_SECRET_KEY="SecretKey012345678901234567890123456789012345678901234582254644945479" $env:NACOS_API_URL="http://192.168.1.50:8848/nacos/v1/auth/users?pageNo=1&pageSize=9&search=accurate" mvn clean package ``` # 运行命令 ```powershell # 1. 使用默认密钥生成JWT:当未提供任何密钥(无论是通过命令行参数还是环境变量)时,程序将使用内置的默认密钥。 java -jar jwtgenerator.jar # 2. 使用自定义密钥生成JWT (通过命令行参数) #    通过命令行参数指定的密钥具有最高优先级,会覆盖环境变量的设置。 java -jar jwtgenerator.jar "YourCustomSecretKeyForJwt" java -jar jwtgenerator.jar --secretkey "YourCustomSecretKeyForJwt" java -jar jwtgenerator.jar -s "YourCustomSecretKeyForJwt" # 3. 通过环境变量设置密钥生成JWT #    如果未通过命令行参数指定密钥,程序将尝试读取 JWT_SECRET_KEY 环境变量。 # export JWT_SECRET_KEY="SecretKey012345678901234567890123456789012345678901234582254644945479" $env:JWT_SECRET_KEY="SecretKey012345678901234567890123456789012345678901234582254644945479" java -jar jwtgenerator.jar ``` # 工具验证 ![https://jwt.io/](https://tc.sktill.top:7000/images/2025/04/17/20250417223614.png) # Nacos接口验证 - linux ```bash export JWT_SECRET_KEY="SecretKey012345678901234567890123456789012345678901234582254644945479" export NACOS_API_URL="http://192.168.1.50:8848/nacos/v1/auth/users?pageNo=1&pageSize=9&search=accurate" TOKEN=$(java -jar jwtgenerator.jar) curl -X GET "$($env:NACOS_API_URL)" -H "Authorization: Bearer $($env:TOKEN)" 2>/dev/null | python -m json.tool ``` - 验证结果 ![Nacos接口验证示例](https://tc.sktill.top:7000/images/2025/04/17/20250417223904.png) - windows-powershell ```powershell # $env:TOKEN=$(java -jar jwtgenerator.jar -s "SecretKey012345678901234567890123456789012345678901234582254644945479") $env:JWT_SECRET_KEY="SecretKey012345678901234567890123456789012345678901234582254644945479" $env:TOKEN=$(java -jar jwtgenerator.jar) $env:NACOS_API_URL="http://192.168.1.50:8848/nacos/v1/auth/users?pageNo=1&pageSize=9&search=accurate" curl -X GET "$($env:NACOS_API_URL)" -H "Authorization: Bearer $($env:TOKEN)"  | python -m json.tool ``` - 后续还可以使用这个接口查看服务实例列表 ``` curl -X GET 'http://127.0.0.1:8848/nacos/v1/ns/instance/list?serviceName=java-demo&namespace=public' -H "Authorization: Bearer $TOKEN" 2>/dev/null | python -m json.tool ```