@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(); }
@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(); }
@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(); }
@Override public void setUp() throws Exception { super.setUp(); OKService service = new OKServiceImpl(); ServiceBinder serviceBinder = new ServiceBinder(vertx) .setAddress(SERVICE_ADDRESS) .addInterceptor(new ServiceJWTInterceptor().setJwtAuth(JWTAuth.create(vertx, new JWTAuthOptions() .addSecret(new SecretOptions() .setType("HS256") .setSecret("notasecret"))))); ServiceBinder localServiceBinder = new ServiceBinder(vertx) .setAddress(SERVICE_LOCAL_ADDRESS) .addInterceptor(new ServiceJWTInterceptor().setJwtAuth(JWTAuth.create(vertx, new JWTAuthOptions() .addSecret(new SecretOptions() .setType("HS256") .setSecret("notasecret"))))); consumer = serviceBinder.register(OKService.class, service); localConsumer = localServiceBinder.registerLocal(OKService.class, service); serviceProxyBuilder = new ServiceProxyBuilder(vertx) .setAddress(SERVICE_ADDRESS); localServiceProxyBuilder = new ServiceProxyBuilder(vertx) .setAddress(SERVICE_LOCAL_ADDRESS); }