use of io.vertx.ext.auth.SecretOptions in project vertx-auth by vert-x3.
the class JWTAuthProviderTest method testGenerateNewTokenWithMacSecret.
@Test
public void testGenerateNewTokenWithMacSecret() {
authProvider = JWTAuth.create(vertx, new JWTAuthOptions().addSecret(new SecretOptions().setType("HS256").setSecret("notasecret")));
String token = authProvider.generateToken(new JsonObject(), new JWTOptions().setAlgorithm("HS256"));
assertNotNull(token);
// reverse
JsonObject authInfo = new JsonObject().put("jwt", token);
authProvider.authenticate(authInfo, onSuccess(res -> {
assertNotNull(res);
testComplete();
}));
await();
}
use of io.vertx.ext.auth.SecretOptions in project vertx-zero by silentbalanceyh.
the class UxJwt method createDirect.
private static JWT createDirect(final JWTAuthOptions config, final Function<String, Buffer> funcBuffer) {
final JWT reference;
final KeyStoreOptions keyStore = config.getKeyStore();
try {
if (keyStore != null) {
final KeyStore ks = KeyStore.getInstance(keyStore.getType());
final Class var5 = JwtAuthProvider.class;
synchronized (JwtAuthProvider.class) {
final Buffer keystore = funcBuffer.apply(keyStore.getPath());
final InputStream in = new ByteArrayInputStream(keystore.getBytes());
Throwable var8 = null;
try {
ks.load(in, keyStore.getPassword().toCharArray());
} catch (final Throwable var20) {
var8 = var20;
throw var20;
} finally {
if (in != null) {
if (var8 != null) {
try {
in.close();
} catch (final Throwable var19) {
var8.addSuppressed(var19);
}
} else {
in.close();
}
}
}
}
reference = new JWT(ks, keyStore.getPassword().toCharArray());
} else {
reference = new JWT();
final List<PubSecKeyOptions> keys = config.getPubSecKeys();
if (keys != null) {
final Iterator var25 = config.getPubSecKeys().iterator();
while (var25.hasNext()) {
final PubSecKeyOptions pubSecKey = (PubSecKeyOptions) var25.next();
if (pubSecKey.isSymmetric()) {
reference.addJWK(new JWK(pubSecKey.getAlgorithm(), pubSecKey.getPublicKey()));
} else {
reference.addJWK(new JWK(pubSecKey.getAlgorithm(), pubSecKey.isCertificate(), pubSecKey.getPublicKey(), pubSecKey.getSecretKey()));
}
}
}
final List<SecretOptions> secrets = config.getSecrets();
if (secrets != null) {
final Iterator var28 = secrets.iterator();
while (var28.hasNext()) {
final SecretOptions secret = (SecretOptions) var28.next();
reference.addSecret(secret.getType(), secret.getSecret());
}
}
}
} catch (IOException | FileSystemException | CertificateException | NoSuchAlgorithmException | KeyStoreException var23) {
throw new _500JwtRuntimeException(UxJwt.class, var23);
}
return reference;
}
use of io.vertx.ext.auth.SecretOptions in project vertx-auth by vert-x3.
the class JWTAuthProviderTest method testValidateTokenWithInvalidMacSecret.
@Test
public void testValidateTokenWithInvalidMacSecret() {
String token = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE1MDE3ODUyMDZ9.08K_rROcCmKTF1cKfPCli2GQFYIOP8dePxeS1SE4dc8";
authProvider = JWTAuth.create(vertx, new JWTAuthOptions().addSecret(new SecretOptions().setType("HS256").setSecret("a bad secret")));
JsonObject authInfo = new JsonObject().put("jwt", token);
authProvider.authenticate(authInfo, onFailure(res -> {
assertNotNull(res);
testComplete();
}));
await();
}
use of io.vertx.ext.auth.SecretOptions in project vertx-auth by vert-x3.
the class JWTAuthProviderTest method testValidateTokenWithValidMacSecret.
@Test
public void testValidateTokenWithValidMacSecret() {
String token = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE1MDE3ODUyMDZ9.08K_rROcCmKTF1cKfPCli2GQFYIOP8dePxeS1SE4dc8";
authProvider = JWTAuth.create(vertx, new JWTAuthOptions().addSecret(new SecretOptions().setType("HS256").setSecret("notasecret")));
JsonObject authInfo = new JsonObject().put("jwt", token);
authProvider.authenticate(authInfo, onSuccess(res -> {
assertNotNull(res);
testComplete();
}));
await();
}
Aggregations