develop
parent
c83acf7717
commit
9bc0bde671
16 changed files with 291 additions and 122 deletions
@ -0,0 +1,13 @@ |
|||||||
|
package api.menu.playa.annotation; |
||||||
|
|
||||||
|
import java.lang.annotation.ElementType; |
||||||
|
import java.lang.annotation.Retention; |
||||||
|
import java.lang.annotation.RetentionPolicy; |
||||||
|
import java.lang.annotation.Target; |
||||||
|
|
||||||
|
|
||||||
|
@Retention(RetentionPolicy.RUNTIME) |
||||||
|
@Target(ElementType.METHOD) |
||||||
|
public @interface Roles { |
||||||
|
public String[] rols(); |
||||||
|
} |
||||||
@ -0,0 +1,43 @@ |
|||||||
|
package api.menu.playa.helper; |
||||||
|
|
||||||
|
import java.time.LocalDateTime; |
||||||
|
import java.util.Arrays; |
||||||
|
|
||||||
|
import javax.enterprise.context.RequestScoped; |
||||||
|
|
||||||
|
import org.eclipse.microprofile.jwt.Claims; |
||||||
|
import org.jose4j.jwt.JwtClaims; |
||||||
|
|
||||||
|
import api.menu.playa.enums.RolesEnum; |
||||||
|
import api.menu.playa.util.TokenUtils; |
||||||
|
|
||||||
|
@RequestScoped |
||||||
|
public class TokenService { |
||||||
|
|
||||||
|
public String generate(String nombre, String username, LocalDateTime birthdate, RolesEnum rol) { |
||||||
|
try { |
||||||
|
System.out.println("creating account"); |
||||||
|
|
||||||
|
JwtClaims jwtClaims = new JwtClaims(); |
||||||
|
jwtClaims.setIssuer("https://vodorod.cl"); |
||||||
|
jwtClaims.setJwtId("a-123"); |
||||||
|
jwtClaims.setSubject(nombre); |
||||||
|
jwtClaims.setClaim(Claims.upn.name(), nombre); |
||||||
|
jwtClaims.setClaim(Claims.preferred_username.name(), username); |
||||||
|
jwtClaims.setClaim(Claims.birthdate.name(), birthdate); |
||||||
|
jwtClaims.setClaim(Claims.groups.name(), Arrays.asList(rol)); |
||||||
|
jwtClaims.setAudience("using-jwt"); |
||||||
|
jwtClaims.setExpirationTimeMinutesInTheFuture(720); |
||||||
|
|
||||||
|
String token = TokenUtils.generateTokenString(jwtClaims); |
||||||
|
|
||||||
|
System.out.println(token); |
||||||
|
|
||||||
|
return token; |
||||||
|
} catch (Exception e) { |
||||||
|
e.printStackTrace(); |
||||||
|
throw new RuntimeException("Oops!"); |
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
|
} |
||||||
@ -1,28 +1,28 @@ |
|||||||
-----BEGIN PRIVATE KEY----- |
-----BEGIN PRIVATE KEY----- |
||||||
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 |
||||||
ySryjnf3b8RX4xTt8vSj7No= |
gs4AsuhRpozo+xSAOVuO+Mg= |
||||||
-----END PRIVATE KEY----- |
-----END PRIVATE KEY----- |
||||||
|
|||||||
@ -1,9 +1,9 @@ |
|||||||
-----BEGIN PUBLIC KEY----- |
-----BEGIN PUBLIC KEY----- |
||||||
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvDYsBZlI5GE6M2sDyoyc |
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA18OmU6OM3cJ88c3FWi+y |
||||||
xs7nI7JCO7WW6Nu+BBnrHMLEC/lvAMhPtJ8hfCDx3kiYXFPlVwUt6r8YfUFyW9ph |
bH45cNiTntr8kHnDX3jBuP1qd9rI60CrQv43JZobQzfKmOyeibNC4R7J0LHumiCs |
||||||
vfC1Z5KGSsUIA5qVc5Df9jMwiEQ5IMgWfLDnGeDo/IJLiObP6scMA/3eVtEbEeLI |
dpkp7qzklE1bGf7MzCuVX853Jd1GxVY64em+Uk0QciarFPMtk09JFYLj0gbNL4/P |
||||||
Bgl/UmcIk3VmqWQ3TNcaRjwHoJoffmrbzVWR4/+vofo0h0w64KhkYmEIO/mDe0X0 |
A3mZfHKnWMtX3h5kfwSiCik9wqPBhGF1i3X2Akhw59AqK84mDtwjAT161HF5TsSX |
||||||
MAWmOpaDHK6yDdmJs6O3to+IvSujEWYbgmp84lt9E0w5OoWrOsClQPqq+As7v8OM |
/+Up++TFsOtzLtb3ztAND+2YPFAxjiBID8m10sxqEGaErMnXJBaeQMmwDRwZwP29 |
||||||
Zh+fciWch/ulhUq85sbA2qA9NTizkjJ46635432c9oMRoMJTXf3McpoBDf2YX212 |
wFTaFWF1brp2CV+fql+U5cW0zehFzzYlKnZ9S84ANHN/Ayk2E5hvedZyULqeEUP4 |
||||||
FwIDAQAB |
3QIDAQAB |
||||||
-----END PUBLIC KEY----- |
-----END PUBLIC KEY----- |
||||||
|
|||||||
@ -1,8 +0,0 @@ |
|||||||
package api.menu.playa; |
|
||||||
|
|
||||||
import io.quarkus.test.junit.QuarkusIntegrationTest; |
|
||||||
|
|
||||||
@QuarkusIntegrationTest |
|
||||||
public class GreetingResourceIT extends GreetingResourceTest { |
|
||||||
// Execute the same tests but in packaged mode.
|
|
||||||
} |
|
||||||
@ -1,21 +0,0 @@ |
|||||||
package api.menu.playa; |
|
||||||
|
|
||||||
import io.quarkus.test.junit.QuarkusTest; |
|
||||||
import org.junit.jupiter.api.Test; |
|
||||||
|
|
||||||
import static io.restassured.RestAssured.given; |
|
||||||
import static org.hamcrest.CoreMatchers.is; |
|
||||||
|
|
||||||
@QuarkusTest |
|
||||||
public class GreetingResourceTest { |
|
||||||
|
|
||||||
@Test |
|
||||||
public void testHelloEndpoint() { |
|
||||||
given() |
|
||||||
.when().get("/hello") |
|
||||||
.then() |
|
||||||
.statusCode(200) |
|
||||||
.body(is("Hello from RESTEasy Reactive")); |
|
||||||
} |
|
||||||
|
|
||||||
} |
|
||||||
Loading…
Reference in new issue