Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

694
Views
¿Cómo valido un token jwt que obtuve de Cognito?

Tengo un token jwt que recuperé de cognito después de que mi usuario inicie sesión.

Tengo un punto final de api específico en mi aplicación y quiero que solo los usuarios con un jwt válido puedan acceder a este punto final. Intenté mirar varios recursos en la web pero no pude entender nada. Soy nuevo en el concepto jwt.

PD: tengo una aplicación Java (spring boot). Realmente agradecería que alguien describiera en detalle los pasos que debo seguir para verificar mi jwt. Proporcione el código si es posible.

 @CrossOrigin @RequestMapping(value= "/login", method=RequestMethod.POST,consumes="application/json") @ResponseBody public String authenticate(@RequestBody SignInDTO signInDetails) { //boolean isAuthenticated=false; CognitoHelper cognitoHelper=new CognitoHelper(); String authResult=cognitoHelper.ValidateUser(signInDetails.getEmailId(), signInDetails.getPassword()); ..... ..... .....

authResult es el jwt que obtengo de cognito. Después de esto, no tengo ni idea de lo que hay que hacer.

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

Spring Security 5.1 introdujo soporte para esto, por lo que es mucho más fácil de implementar. Consulte https://docs.spring.io/spring-security/site/docs/current/reference/html/jc.html#oauth2resourceserver

Básicamente:

  1. Agregue dependencias como se describe en https://docs.spring.io/spring-security/site/docs/current/reference/html/jc.html#dependencies
  2. Agregue la configuración yml como se describe en https://docs.spring.io/spring-security/site/docs/current/reference/html5/#oauth2resourceserver-jwt-minimalconfiguration . Para cognito, use la siguiente URL: https://cognito-idp.<region>.amazonaws.com/<YOUR_USER_POOL_ID>
  3. Probablemente necesite editar su configuración de seguridad como se describe en https://docs.spring.io/spring-security/site/docs/current/reference/html/jc.html#oauth2resourceserver-sansboot
over 4 years ago · Santiago Trujillo Report

0

Use una biblioteca como java-jwt (supongo que está usando Maven)

 <dependency> <groupId>com.auth0</groupId> <artifactId>java-jwt</artifactId> <version>3.3.0</version> </dependency>

Entonces:

 String token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXUyJ9.eyJpc3MiOiJhdXRoMCJ9.AbIJTDMFc7yUa5MhvcP03nJPyCPzZtQcGEp-zWfOkEE"; try { Algorithm algorithm = Algorithm.HMAC256("secret"); // or Algorithm algorithm = Algorithm.RSA256(publicKey, privateKey); JWTVerifier verifier = JWT.require(algorithm) .withIssuer("auth0") .build(); //Reusable verifier instance DecodedJWT jwt = verifier.verify(token); } catch (UnsupportedEncodingException exception){ //UTF-8 encoding not supported } catch (JWTVerificationException exception){ //Invalid signature/claims }

Puede decodificar manualmente un jwt-token aquí: https://jwt.io
Más información sobre java-jwt aquí: https://github.com/auth0/java-jwt

over 4 years ago · Santiago Trujillo Report

0

Paso 1: Confirme la estructura del JWT

Paso 2: validar la firma JWT

Paso 3: Verificar las reclamaciones

Vaya a https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-using-tokens-verifying-a-jwt.html para obtener más información.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!