Search in sources :

Example 11 with Token

use of com.macasaet.fernet.Token in project fernet-java8 by l0s.

the class ProtectedResource method getSecret.

/**
 * @param authToken a valid Fernet token
 * @return the secured value
 * @throws TokenValidationException if an invalid token was provided
 */
@GET
@Path("secret")
public String getSecret(@HeaderParam("X-Auth-Token") final String authToken) {
    final Token token = Token.fromString(authToken);
    token.validateAndDecrypt(getKeyRepository().getDecryptionKeys(), getValidator());
    return "secret";
}
Also used : Token(com.macasaet.fernet.Token) Path(javax.ws.rs.Path) GET(javax.ws.rs.GET)

Example 12 with Token

use of com.macasaet.fernet.Token in project fernet-java8 by l0s.

the class FernetTokenValueParamProviderTest method verifyApplyReturnsTokenFromBearerToken.

@Test
public final void verifyApplyReturnsTokenFromBearerToken() {
    // given
    final ContainerRequest request = mock(ContainerRequest.class);
    given(tokenHeaderUtility.getAuthorizationToken(request)).willReturn(token);
    // when
    final Token result = function.apply(request);
    // then
    assertEquals(token.serialise(), result.serialise());
}
Also used : ContainerRequest(org.glassfish.jersey.server.ContainerRequest) Token(com.macasaet.fernet.Token) FernetToken(com.macasaet.fernet.jaxrs.FernetToken) Test(org.junit.Test)

Example 13 with Token

use of com.macasaet.fernet.Token in project fernet-java8 by l0s.

the class FernetTokenValueParamProviderTest method verifyApplyReturnsTokenFromXToken.

@Test
public final void verifyApplyReturnsTokenFromXToken() {
    // given
    final ContainerRequest request = mock(ContainerRequest.class);
    given(tokenHeaderUtility.getXAuthorizationToken(request)).willReturn(token);
    // when
    final Token result = function.apply(request);
    // then
    assertEquals(token.serialise(), result.serialise());
}
Also used : ContainerRequest(org.glassfish.jersey.server.ContainerRequest) Token(com.macasaet.fernet.Token) FernetToken(com.macasaet.fernet.jaxrs.FernetToken) Test(org.junit.Test)

Example 14 with Token

use of com.macasaet.fernet.Token in project fernet-java8 by l0s.

the class TokenHeaderUtilityTest method verifyGetAuthorizationTokenDeserialisesBearerToken.

@Test
public final void verifyGetAuthorizationTokenDeserialisesBearerToken() {
    // given
    final Key key = Key.generateKey(random);
    final Token token = Token.generate(random, key, "hello");
    final ContainerRequest request = mock(ContainerRequest.class);
    given(request.getHeaderString("Authorization")).willReturn("Bearer " + token.serialise());
    // when
    final Token result = utility.getAuthorizationToken(request);
    // then
    assertEquals(token.serialise(), result.serialise());
}
Also used : Token(com.macasaet.fernet.Token) ContainerRequest(org.glassfish.jersey.server.ContainerRequest) Key(com.macasaet.fernet.Key) Test(org.junit.Test)

Example 15 with Token

use of com.macasaet.fernet.Token in project fernet-java8 by l0s.

the class TokenHeaderUtilityTest method verifyGetXAuthorizationTokenDeserialisesToken.

@Test
public final void verifyGetXAuthorizationTokenDeserialisesToken() {
    // given
    final Key key = Key.generateKey(random);
    final Token token = Token.generate(random, key, "hello");
    final ContainerRequest request = mock(ContainerRequest.class);
    given(request.getHeaderString("X-Authorization")).willReturn(token.serialise());
    // when
    final Token result = utility.getXAuthorizationToken(request);
    // then
    assertEquals(token.serialise(), result.serialise());
}
Also used : Token(com.macasaet.fernet.Token) ContainerRequest(org.glassfish.jersey.server.ContainerRequest) Key(com.macasaet.fernet.Key) Test(org.junit.Test)

Aggregations

Token (com.macasaet.fernet.Token)17 Key (com.macasaet.fernet.Key)10 Test (org.junit.Test)9 Path (javax.ws.rs.Path)6 ContainerRequest (org.glassfish.jersey.server.ContainerRequest)6 NotAuthorizedException (javax.ws.rs.NotAuthorizedException)5 SecureRandom (java.security.SecureRandom)3 Consumes (javax.ws.rs.Consumes)3 POST (javax.ws.rs.POST)3 PUT (javax.ws.rs.PUT)3 JerseyTest (org.glassfish.jersey.test.JerseyTest)3 Session (com.macasaet.fernet.example.pb.Example.Session)2 Builder (com.macasaet.fernet.example.pb.Example.Session.Builder)2 FernetToken (com.macasaet.fernet.jaxrs.FernetToken)2 Produces (javax.ws.rs.Produces)2 Instant (java.time.Instant)1 IvParameterSpec (javax.crypto.spec.IvParameterSpec)1 BadRequestException (javax.ws.rs.BadRequestException)1 GET (javax.ws.rs.GET)1 WebApplicationException (javax.ws.rs.WebApplicationException)1