feat(simple-jwt): Create random secret and apply to TokenResolver
This commit is contained in:
+20
@@ -18,6 +18,7 @@
|
|||||||
package cn.org.codecrafters.simplejwt.authzero;
|
package cn.org.codecrafters.simplejwt.authzero;
|
||||||
|
|
||||||
import cn.org.codecrafters.guid.GuidCreator;
|
import cn.org.codecrafters.guid.GuidCreator;
|
||||||
|
import cn.org.codecrafters.simplejwt.SecretCreator;
|
||||||
import cn.org.codecrafters.simplejwt.TokenPayload;
|
import cn.org.codecrafters.simplejwt.TokenPayload;
|
||||||
import cn.org.codecrafters.simplejwt.TokenResolver;
|
import cn.org.codecrafters.simplejwt.TokenResolver;
|
||||||
import cn.org.codecrafters.simplejwt.annotations.ExcludeFromPayload;
|
import cn.org.codecrafters.simplejwt.annotations.ExcludeFromPayload;
|
||||||
@@ -203,6 +204,25 @@ public class AuthzeroTokenResolver implements TokenResolver<DecodedJWT> {
|
|||||||
this.verifier = JWT.require(this.algorithm).build();
|
this.verifier = JWT.require(this.algorithm).build();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a new instance of AuthzeroTokenResolver with the provided
|
||||||
|
* configurations, HMAC256 algorithm and a simple UUID GuidCreator.
|
||||||
|
*
|
||||||
|
* @param issuer the issuer claim value to be included in JWT tokens
|
||||||
|
*/
|
||||||
|
public AuthzeroTokenResolver(String issuer) {
|
||||||
|
var secret = SecretCreator.createSecret(32, true, true, true);
|
||||||
|
|
||||||
|
this.jtiCreator = (GuidCreator<UUID>) UUID::randomUUID;
|
||||||
|
this.algorithm = AuthzeroTokenResolverConfig.getInstance()
|
||||||
|
.getAlgorithm(TokenAlgorithm.HS256)
|
||||||
|
.apply(secret);
|
||||||
|
this.issuer = issuer;
|
||||||
|
this.verifier = JWT.require(this.algorithm).build();
|
||||||
|
|
||||||
|
log.info("The secret has been set to {}.", secret);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Builds the basic information of the JSON Web Token (JWT) using the
|
* Builds the basic information of the JSON Web Token (JWT) using the
|
||||||
* provided parameters and adds it to the JWTCreator.Builder.
|
* provided parameters and adds it to the JWTCreator.Builder.
|
||||||
|
|||||||
Reference in New Issue
Block a user