Class NimbusJwt

java.lang.Object
org.europa.together.application.NimbusJwt
All Implemented Interfaces:
JsonWebToken

@Repository @Transactional public class NimbusJwt extends Object implements JsonWebToken
Implementation of JSON Web Token.
  • Constructor Details

  • Method Details

    • buildHMAC512SignedJws

      public String buildHMAC512SignedJws(String jsonPayload) throws JsonProcessingException
      Description copied from interface: JsonWebToken
      JSON Web Signature (JWS) represents content secured with digital signatures or Message Authentication Codes (MACs) using JSON-based data structures. Cryptographic algorithms and identifiers for use with this specification are described in the separate JSON Web Algorithms (JWA) specification and an IANA registry defined by that specification. Related encryption capabilities are described in the separate JSON Web Encryption (JWE) specification.
      Specified by:
      buildHMAC512SignedJws in interface JsonWebToken
      Parameters:
      jsonPayload - as String
      Returns:
      JWS as String
      Throws:
      JsonProcessingException - case of error
    • buildHMAC512SignedJwt

      public String buildHMAC512SignedJwt(String issuer, String subject, List<String> audience) throws JsonProcessingException
      Description copied from interface: JsonWebToken
      Create a JSON Web Token. JSON Web Token (JWT) is a compact, URL-safe means of representing claims to be transferred between two parties. The claims in a JWT are encoded as a JSON object that is used as the payload of a JSON Web Signature (JWS) structure or as the plaintext of a JSON Web Encryption (JWE) structure, enabling the claims to be digitally signed or integrity protected with a Message Authentication Code (MAC) and/or encrypted.
      Specified by:
      buildHMAC512SignedJwt in interface JsonWebToken
      Parameters:
      issuer - as String
      subject - as String
      audience - as List of Strings
      Returns:
      JWT as String
      Throws:
      JsonProcessingException - case of error
    • buildHMAC512SignedJwt

      public String buildHMAC512SignedJwt(List<String> audience) throws JsonProcessingException
      Description copied from interface: JsonWebToken
      Create a JSON Web Token. JSON Web Token (JWT) is a compact, URL-safe means of representing claims to be transferred between two parties. The claims in a JWT are encoded as a JSON object that is used as the payload of a JSON Web Signature (JWS) structure or as the plaintext of a JSON Web Encryption (JWE) structure, enabling the claims to be digitally signed or integrity protected with a Message Authentication Code (MAC) and/or encrypted. issuer and subject get fetched from DB entries.
      Specified by:
      buildHMAC512SignedJwt in interface JsonWebToken
      Parameters:
      audience - as List of Strings
      Returns:
      JWT as String
      Throws:
      JsonProcessingException - case of error
    • parseHMAC512SingedJws

      public String parseHMAC512SingedJws(String jws) throws JsonProcessingException
      Description copied from interface: JsonWebToken
      Parse a JWS String and validate the signature. If the siganture is invalid it throws an JsonProcessingException.
      Specified by:
      parseHMAC512SingedJws in interface JsonWebToken
      Parameters:
      jws - as String
      Returns:
      encoded JWS as String
      Throws:
      JsonProcessingException - case of error
    • parseHMAC512SingedJwt

      public String parseHMAC512SingedJwt(String jwt) throws JsonProcessingException
      Description copied from interface: JsonWebToken
      Parse a JWT String and validate the signature. If the siganture is invalid it throws an JsonProcessingException.
      Specified by:
      parseHMAC512SingedJwt in interface JsonWebToken
      Parameters:
      jwt - as String
      Returns:
      encoded JWT as String
      Throws:
      JsonProcessingException - case of error