Class ClaimsSet

    • Constructor Detail

      • ClaimsSet

        public ClaimsSet()
        Creates a new empty claims set.
      • ClaimsSet

        public ClaimsSet​(net.minidev.json.JSONObject jsonObject)
        Creates a new claims set from the specified JSON object.
        Parameters:
        jsonObject - The JSON object. Must not be null.
    • Method Detail

      • getStandardClaimNames

        public static Set<StringgetStandardClaimNames()
        Gets the names of the standard top-level claims.
        Returns:
        The names of the standard top-level claims (read-only set).
      • putAll

        public void putAll​(ClaimsSet other)
        Puts all claims from the specified other claims set.
        Parameters:
        other - The other claims set. Must not be null.
      • putAll

        public void putAll​(Map<String,​Object> claims)
        Puts all claims from the specified map.
        Parameters:
        claims - The claims to put. Must not be null.
      • getClaim

        public Object getClaim​(String name)
        Gets a claim.
        Parameters:
        name - The claim name. Must not be null.
        Returns:
        The claim value, null if not specified.
      • getClaim

        public <T> T getClaim​(String name,
                              Class<T> clazz)
        Gets a claim that casts to the specified class.
        Parameters:
        name - The claim name. Must not be null.
        clazz - The Java class that the claim value should cast to. Must not be null.
        Returns:
        The claim value, null if not specified or casting failed.
      • getLangTaggedClaim

        public <T> Map<com.nimbusds.langtag.LangTag,​T> getLangTaggedClaim​(String name,
                                                                                Class<T> clazz)
        Returns a map of all instances, including language-tagged, of a claim with the specified base name.

        Example JSON serialised claims set:

         {
           "month"    : "January",
           "month#de" : "Januar"
           "month#es" : "enero",
           "month#it" : "gennaio"
         }
         

        The "month" claim instances as java.util.Map:

         null = "January" (no language tag)
         "de" = "Januar"
         "es" = "enero"
         "it" = "gennaio"
         
        Parameters:
        name - The claim name. Must not be null.
        clazz - The Java class that the claim values should cast to. Must not be null.
        Returns:
        The matching language-tagged claim values, empty map if none. A null key indicates the value has no language tag (corresponds to the base name).
      • setClaim

        public void setClaim​(String name,
                             Object value)
        Sets a claim.
        Parameters:
        name - The claim name, with an optional language tag. Must not be null.
        value - The claim value. Should serialise to a JSON entity. If null any existing claim with the same name will be removed.
      • setClaim

        public void setClaim​(String name,
                             Object value,
                             com.nimbusds.langtag.LangTag langTag)
        Sets a claim with an optional language tag.
        Parameters:
        name - The claim name. Must not be null.
        value - The claim value. Should serialise to a JSON entity. If null any existing claim with the same name and language tag (if any) will be removed.
        langTag - The language tag of the claim value, null if not tagged.
      • getStringClaim

        public String getStringClaim​(String name)
        Gets a string-based claim.
        Parameters:
        name - The claim name. Must not be null.
        Returns:
        The claim value, null if not specified or casting failed.
      • getStringClaim

        public String getStringClaim​(String name,
                                     com.nimbusds.langtag.LangTag langTag)
        Gets a string-based claim with an optional language tag.
        Parameters:
        name - The claim name. Must not be null.
        langTag - The language tag of the claim value, null to get the non-tagged value.
        Returns:
        The claim value, null if not specified or casting failed.
      • getBooleanClaim

        public Boolean getBooleanClaim​(String name)
        Gets a boolean-based claim.
        Parameters:
        name - The claim name. Must not be null.
        Returns:
        The claim value, null if not specified or casting failed.
      • getNumberClaim

        public Number getNumberClaim​(String name)
        Gets a number-based claim.
        Parameters:
        name - The claim name. Must not be null.
        Returns:
        The claim value, null if not specified or casting failed.
      • getURLClaim

        public URL getURLClaim​(String name)
        Gets an URL string based claim.
        Parameters:
        name - The claim name. Must not be null.
        Returns:
        The claim value, null if not specified or parsing failed.
      • setURLClaim

        public void setURLClaim​(String name,
                                URL value)
        Sets an URL string based claim.
        Parameters:
        name - The claim name. Must not be null.
        value - The claim value. If null any existing claim with the same name will be removed.
      • getURIClaim

        public URI getURIClaim​(String name)
        Gets an URI string based claim.
        Parameters:
        name - The claim name. Must not be null.
        Returns:
        The claim value, null if not specified or parsing failed.
      • setURIClaim

        public void setURIClaim​(String name,
                                URI value)
        Sets an URI string based claim.
        Parameters:
        name - The claim name. Must not be null.
        value - The claim value. If null any existing claim with the same name will be removed.
      • getEmailClaim

        @Deprecated
        public javax.mail.internet.InternetAddress getEmailClaim​(String name)
        Deprecated.
        Gets an email string based claim.
        Parameters:
        name - The claim name. Must not be null.
        Returns:
        The claim value, null if not specified or parsing failed.
      • setEmailClaim

        @Deprecated
        public void setEmailClaim​(String name,
                                  javax.mail.internet.InternetAddress value)
        Deprecated.
        Sets an email string based claim.
        Parameters:
        name - The claim name. Must not be null.
        value - The claim value. If null any existing claim with the same name will be removed.
      • getDateClaim

        public Date getDateClaim​(String name)
        Gets a date / time based claim, represented as the number of seconds from 1970-01-01T0:0:0Z as measured in UTC until the date / time.
        Parameters:
        name - The claim name. Must not be null.
        Returns:
        The claim value, null if not specified or parsing failed.
      • setDateClaim

        public void setDateClaim​(String name,
                                 Date value)
        Sets a date / time based claim, represented as the number of seconds from 1970-01-01T0:0:0Z as measured in UTC until the date / time.
        Parameters:
        name - The claim name. Must not be null.
        value - The claim value. If null any existing claim with the same name will be removed.
      • getStringListClaim

        public List<StringgetStringListClaim​(String name)
        Gets a string list based claim.
        Parameters:
        name - The claim name. Must not be null.
        Returns:
        The claim value, null if not specified or parsing failed.
      • getIssuer

        public Issuer getIssuer()
        Gets the issuer. Corresponds to the iss claim.
        Returns:
        The issuer, null if not specified.
      • setIssuer

        public void setIssuer​(Issuer iss)
        Sets the issuer. Corresponds to the iss claim.
        Parameters:
        iss - The issuer, null if not specified.
      • getAudience

        public List<AudiencegetAudience()
        Gets the audience. Corresponds to the aud claim.
        Returns:
        The audience list, null if not specified.
      • setAudience

        public void setAudience​(Audience aud)
        Sets the audience. Corresponds to the aud claim.
        Parameters:
        aud - The audience, null if not specified.
      • setAudience

        public void setAudience​(List<Audience> audList)
        Sets the audience list. Corresponds to the aud claim.
        Parameters:
        audList - The audience list, null if not specified.
      • toJSONObject

        public net.minidev.json.JSONObject toJSONObject()
        Gets the JSON object representation of this claims set.

        Example:

         {
           "country"       : "USA",
           "country#en"    : "USA",
           "country#de_DE" : "Vereinigte Staaten",
           "country#fr_FR" : "Etats Unis"
         }
         
        Returns:
        The JSON object representation.
      • toJSONString

        public String toJSONString()
        Specified by:
        toJSONString in interface net.minidev.json.JSONAware
      • toJWTClaimsSet

        public com.nimbusds.jwt.JWTClaimsSet toJWTClaimsSet()
                                                     throws ParseException
        Gets the JSON Web Token (JWT) claims set for this claim set.
        Returns:
        The JWT claims set.
        Throws:
        ParseException - If the conversion to a JWT claims set fails.