基于Spring OAuth2的权限授权服务器,提供基于authorization code的权限验证方案。
- 服务会将生成的token信息,根据tokenkey.jks(可替换)进行加密并生成JWT Token。
- JWT Token的生命周期交由Redis服务维护。
- 对authorization code流程中RedirectURL有特殊处理(仅认可来源于Gatewayserver的请求。
- 服务本身不维护用户信息相关的存储,用户相关信息依赖AccountServer。
该文件可通过JDK相关工具生成,并将生成时所使用的密钥保存在配置文件当中
tokenkey.jks.private.key = 123456abcdefg
或通过参数方式传入
-Dtokenkey.jks.private.key=123456abcdefg
application.properties中并不包含完整配置信息,所以不支持直接运行
- java 方式
java
-Djava.security.egd=file:/dev/./urandom \
-Dspring.cloud.config.uri=$CONFIGSERVER_URI \
-Deureka.client.serviceUrl.defaultZone=$EUREKASERVER_URI \
-Dspring.redis.host=$REDIS_URI \
-Dspring.profiles.active=$PROFILE \
-jar target.jar
- docker 方式
建议用docker-compose方式运行
authserver:
image: ray0728/authserv:1.0
ports:
- "10004:10004"
environment:
REDIS_PORT: "6379"
ZIPKIN_PORT: "9411"
CONFIGSERVER_PORT: "10002"
EUREKASERVER_PORT: "10001"
RESOURCE_PORT: "10005"
CONFIGSERVER_URI: 你的配置服务器地址
EUREKASERVER_URI: EUREKA地址
KAFKA_URI: KAFKA IP:PORT
REDIS_URI: REDIS服务IP
ZIPKIN_URI: ZIPKIN_URI地址
PROFILE: "dev"