oauth2认证服务
网上很多都是基于是spring原有认证,无法实现小程序认证,于是乎改写了部分代码。当然,也可以添加手机验证码登陆,有兴趣的可以参照现有代码来实现。
基于springboot的oauth2 jwt,使用私钥进行加密,token信息保存在redis中。用户密码加密方式SCryptPasswordEncoder。
源码:https://github.com/aLiang-xyl/oauth2
springboot的oauth2相关知识可参见:https://docs.spring.io/spring-security/site/docs/current/reference/html5/#preface
公钥私钥生成方式:
私钥
用于oauth2认证服务
keytool -genkey -alias auth-jwt -keypass 123456 -keyalg RSA -storetype PKCS12 -keysize 1024 -validity 365 -keystore auth-jwt.jks -storepass 123456 -dname "CN=(Felord), OU=(auth-jwt), O=(auth-jwt), L=(zz), ST=(hn), C=(cn)"
公钥
基于私钥生成公钥,用于oauth2资源服务进行验签
使用下面的命令,将公钥信息保存在任意文本中,例如:public.pub
keytool -list -rfc --keystore auth-jwt.jks | openssl x509 -inform pem -pubkey
配置信息
oauth:
#token有效期24小时
access-token-validity-seconds: 86400
#refresh token有效期48小时
refresh-token-validity-seconds: 172800
client:
#普通用户
common