Class UserInfo


  • public class UserInfo
    extends ClaimsSet
    UserInfo claims set, serialisable to a JSON object.

    Supports normal, aggregated and distributed claims.

    Example UserInfo claims set:

     {
       "sub"                : "248289761001",
       "name"               : "Jane Doe",
       "given_name"         : "Jane",
       "family_name"        : "Doe",
       "preferred_username" : "j.doe",
       "email"              : "[email protected]",
       "picture"            : "http://example.com/janedoe/me.jpg"
     }
     

    Related specifications:

    • OpenID Connect Core 1.0, sections 5.1 and 5.6.
    • Constructor Detail

      • UserInfo

        public UserInfo​(Subject sub)
        Creates a new minimal UserInfo claims set.
        Parameters:
        sub - The subject. Must not be null.
      • UserInfo

        public UserInfo​(net.minidev.json.JSONObject jsonObject)
        Creates a new UserInfo claims set from the specified JSON object.
        Parameters:
        jsonObject - The JSON object. Must not be null.
        Throws:
        IllegalArgumentException - If the JSON object doesn't contain a subject sub string claim.
      • UserInfo

        public UserInfo​(com.nimbusds.jwt.JWTClaimsSet jwtClaimsSet)
        Creates a new UserInfo claims set from the specified JSON Web Token (JWT) claims set.
        Parameters:
        jwtClaimsSet - The JWT claims set. Must not be null.
        Throws:
        IllegalArgumentException - If the JWT claims set doesn't contain a subject sub string claim.
    • Method Detail

      • getStandardClaimNames

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

        public void putAll​(UserInfo other)
        Puts all claims from the specified other UserInfo claims set. Aggregated and distributed claims are properly merged.
        Parameters:
        other - The other UserInfo. Must have the same subject. Must not be null.
        Throws:
        IllegalArgumentException - If the other UserInfo claims set doesn't have an identical subject, or if the external claims source ID of the other UserInfo matches an existing source ID.
      • getSubject

        public Subject getSubject()
        Gets the UserInfo subject. Corresponds to the sub claim.
        Returns:
        The subject.
      • 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.
      • getName

        public String getName()
        Gets the full name. Corresponds to the name claim, with no language tag.
        Returns:
        The full name, null if not specified.
      • getName

        public String getName​(com.nimbusds.langtag.LangTag langTag)
        Gets the full name. Corresponds to the name claim, with an optional language tag.
        Parameters:
        langTag - The language tag of the entry, null to get the non-tagged entry.
        Returns:
        The full name, null if not specified.
      • getNameEntries

        public Map<com.nimbusds.langtag.LangTag,​StringgetNameEntries()
        Gets the full name entries. Correspond to the name claim.
        Returns:
        The full name entries, empty map if none.
      • setName

        public void setName​(String name)
        Sets the full name. Corresponds to the name claim, with no language tag.
        Parameters:
        name - The full name. If null the claim will be removed.
      • setName

        public void setName​(String name,
                            com.nimbusds.langtag.LangTag langTag)
        Sets the full name. Corresponds to the name claim, with an optional language tag.
        Parameters:
        name - The full name. If null the claim will be removed.
        langTag - The language tag, null if not specified.
      • getGivenName

        public String getGivenName()
        Gets the given or first name. Corresponds to the given_name claim, with no language tag.
        Returns:
        The given or first name, null if not specified.
      • getGivenName

        public String getGivenName​(com.nimbusds.langtag.LangTag langTag)
        Gets the given or first name. Corresponds to the given_name claim, with an optional language tag.
        Parameters:
        langTag - The language tag of the entry, null to get the non-tagged entry.
        Returns:
        The given or first name, null if not specified.
      • getGivenNameEntries

        public Map<com.nimbusds.langtag.LangTag,​StringgetGivenNameEntries()
        Gets the given or first name entries. Correspond to the given_name claim.
        Returns:
        The given or first name entries, empty map if none.
      • setGivenName

        public void setGivenName​(String givenName)
        Sets the given or first name. Corresponds to the given_name claim, with no language tag.
        Parameters:
        givenName - The given or first name. If null the claim will be removed.
      • setGivenName

        public void setGivenName​(String givenName,
                                 com.nimbusds.langtag.LangTag langTag)
        Sets the given or first name. Corresponds to the given_name claim, with an optional language tag.
        Parameters:
        givenName - The given or first full name. If null the claim will be removed.
        langTag - The language tag, null if not specified.
      • getFamilyName

        public String getFamilyName()
        Gets the surname or last name. Corresponds to the family_name claim, with no language tag.
        Returns:
        The surname or last name, null if not specified.
      • getFamilyName

        public String getFamilyName​(com.nimbusds.langtag.LangTag langTag)
        Gets the surname or last name. Corresponds to the family_name claim, with an optional language tag.
        Parameters:
        langTag - The language tag of the entry, null to get the non-tagged entry.
        Returns:
        The surname or last name, null if not specified.
      • getFamilyNameEntries

        public Map<com.nimbusds.langtag.LangTag,​StringgetFamilyNameEntries()
        Gets the surname or last name entries. Correspond to the family_name claim.
        Returns:
        The surname or last name entries, empty map if none.
      • setFamilyName

        public void setFamilyName​(String familyName)
        Sets the surname or last name. Corresponds to the family_name claim, with no language tag.
        Parameters:
        familyName - The surname or last name. If null the claim will be removed.
      • setFamilyName

        public void setFamilyName​(String familyName,
                                  com.nimbusds.langtag.LangTag langTag)
        Sets the surname or last name. Corresponds to the family_name claim, with an optional language tag.
        Parameters:
        familyName - The surname or last name. If null the claim will be removed.
        langTag - The language tag, null if not specified.
      • getMiddleName

        public String getMiddleName()
        Gets the middle name. Corresponds to the middle_name claim, with no language tag.
        Returns:
        The middle name, null if not specified.
      • getMiddleName

        public String getMiddleName​(com.nimbusds.langtag.LangTag langTag)
        Gets the middle name. Corresponds to the middle_name claim, with an optional language tag.
        Parameters:
        langTag - The language tag of the entry, null to get the non-tagged entry.
        Returns:
        The middle name, null if not specified.
      • getMiddleNameEntries

        public Map<com.nimbusds.langtag.LangTag,​StringgetMiddleNameEntries()
        Gets the middle name entries. Correspond to the middle_name claim.
        Returns:
        The middle name entries, empty map if none.
      • setMiddleName

        public void setMiddleName​(String middleName)
        Sets the middle name. Corresponds to the middle_name claim, with no language tag.
        Parameters:
        middleName - The middle name. If null the claim will be removed.
      • setMiddleName

        public void setMiddleName​(String middleName,
                                  com.nimbusds.langtag.LangTag langTag)
        Sets the middle name. Corresponds to the middle_name claim, with an optional language tag.
        Parameters:
        middleName - The middle name. If null the claim will be removed.
        langTag - The language tag, null if not specified.
      • getNickname

        public String getNickname()
        Gets the casual name. Corresponds to the nickname claim, with no language tag.
        Returns:
        The casual name, null if not specified.
      • getNickname

        public String getNickname​(com.nimbusds.langtag.LangTag langTag)
        Gets the casual name. Corresponds to the nickname claim, with an optional language tag.
        Parameters:
        langTag - The language tag of the entry, null to get the non-tagged entry.
        Returns:
        The casual name, null if not specified.
      • getNicknameEntries

        public Map<com.nimbusds.langtag.LangTag,​StringgetNicknameEntries()
        Gets the casual name entries. Correspond to the nickname claim.
        Returns:
        The casual name entries, empty map if none.
      • setNickname

        public void setNickname​(String nickname)
        Sets the casual name. Corresponds to the nickname claim, with no language tag.
        Parameters:
        nickname - The casual name. If null the claim will be removed.
      • setNickname

        public void setNickname​(String nickname,
                                com.nimbusds.langtag.LangTag langTag)
        Sets the casual name. Corresponds to the nickname claim, with an optional language tag.
        Parameters:
        nickname - The casual name. If null the claim will be removed.
        langTag - The language tag, null if not specified.
      • getPreferredUsername

        public String getPreferredUsername()
        Gets the preferred username. Corresponds to the preferred_username claim.
        Returns:
        The preferred username, null if not specified.
      • setPreferredUsername

        public void setPreferredUsername​(String preferredUsername)
        Sets the preferred username. Corresponds to the preferred_username claim.
        Parameters:
        preferredUsername - The preferred username. If null the claim will be removed.
      • getProfile

        public URI getProfile()
        Gets the profile page. Corresponds to the profile claim.
        Returns:
        The profile page URI, null if not specified.
      • setProfile

        public void setProfile​(URI profile)
        Sets the profile page. Corresponds to the profile claim.
        Parameters:
        profile - The profile page URI. If null the claim will be removed.
      • getPicture

        public URI getPicture()
        Gets the picture. Corresponds to the picture claim.
        Returns:
        The picture URI, null if not specified.
      • setPicture

        public void setPicture​(URI picture)
        Sets the picture. Corresponds to the picture claim.
        Parameters:
        picture - The picture URI. If null the claim will be removed.
      • getWebsite

        public URI getWebsite()
        Gets the web page or blog. Corresponds to the website claim.
        Returns:
        The web page or blog URI, null if not specified.
      • setWebsite

        public void setWebsite​(URI website)
        Sets the web page or blog. Corresponds to the website claim.
        Parameters:
        website - The web page or blog URI. If null the claim will be removed.
      • getEmail

        @Deprecated
        public javax.mail.internet.InternetAddress getEmail()
        Deprecated.
        Gets the preferred email address. Corresponds to the email claim.

        Use getEmailAddress() instead.

        Returns:
        The preferred email address, null if not specified.
      • setEmail

        @Deprecated
        public void setEmail​(javax.mail.internet.InternetAddress email)
        Deprecated.
        Sets the preferred email address. Corresponds to the email claim.

        Use setEmailAddress(String) instead.

        Parameters:
        email - The preferred email address. If null the claim will be removed.
      • getEmailAddress

        public String getEmailAddress()
        Gets the preferred email address. Corresponds to the email claim.
        Returns:
        The preferred email address, null if not specified.
      • setEmailAddress

        public void setEmailAddress​(String email)
        Sets the preferred email address. Corresponds to the email claim.
        Parameters:
        email - The preferred email address. If null the claim will be removed.
      • getEmailVerified

        public Boolean getEmailVerified()
        Gets the email verification status. Corresponds to the email_verified claim.
        Returns:
        The email verification status, null if not specified.
      • setEmailVerified

        public void setEmailVerified​(Boolean emailVerified)
        Sets the email verification status. Corresponds to the email_verified claim.
        Parameters:
        emailVerified - The email verification status. If null the claim will be removed.
      • getGender

        public Gender getGender()
        Gets the gender. Corresponds to the gender claim.
        Returns:
        The gender, null if not specified.
      • setGender

        public void setGender​(Gender gender)
        Sets the gender. Corresponds to the gender claim.
        Parameters:
        gender - The gender. If null the claim will be removed.
      • getBirthdate

        public String getBirthdate()
        Gets the date of birth. Corresponds to the birthdate claim.
        Returns:
        The date of birth, null if not specified.
      • setBirthdate

        public void setBirthdate​(String birthdate)
        Sets the date of birth. Corresponds to the birthdate claim.
        Parameters:
        birthdate - The date of birth. If null the claim will be removed.
      • getZoneinfo

        public String getZoneinfo()
        Gets the zoneinfo. Corresponds to the zoneinfo claim.
        Returns:
        The zoneinfo, null if not specified.
      • setZoneinfo

        public void setZoneinfo​(String zoneinfo)
        Sets the zoneinfo. Corresponds to the zoneinfo claim.
        Parameters:
        zoneinfo - The zoneinfo. If null the claim will be removed.
      • getLocale

        public String getLocale()
        Gets the locale. Corresponds to the locale claim.
        Returns:
        The locale, null if not specified.
      • setLocale

        public void setLocale​(String locale)
        Sets the locale. Corresponds to the locale claim.
        Parameters:
        locale - The locale. If null the claim will be removed.
      • getPhoneNumber

        public String getPhoneNumber()
        Gets the preferred telephone number. Corresponds to the phone_number claim.
        Returns:
        The preferred telephone number, null if not specified.
      • setPhoneNumber

        public void setPhoneNumber​(String phoneNumber)
        Sets the preferred telephone number. Corresponds to the phone_number claim.
        Parameters:
        phoneNumber - The preferred telephone number. If null the claim will be removed.
      • getPhoneNumberVerified

        public Boolean getPhoneNumberVerified()
        Gets the phone number verification status. Corresponds to the phone_number_verified claim.
        Returns:
        The phone number verification status, null if not specified.
      • setPhoneNumberVerified

        public void setPhoneNumberVerified​(Boolean phoneNumberVerified)
        Sets the email verification status. Corresponds to the phone_number_verified claim.
        Parameters:
        phoneNumberVerified - The phone number verification status. If null the claim will be removed.
      • getAddress

        public Address getAddress()
        Gets the preferred address. Corresponds to the address claim, with no language tag.
        Returns:
        The preferred address, null if not specified.
      • getAddress

        public Address getAddress​(com.nimbusds.langtag.LangTag langTag)
        Gets the preferred address. Corresponds to the address claim, with an optional language tag.
        Parameters:
        langTag - The language tag of the entry, null to get the non-tagged entry.
        Returns:
        The preferred address, null if not specified.
      • getAddressEntries

        public Map<com.nimbusds.langtag.LangTag,​AddressgetAddressEntries()
        Gets the preferred address entries. Correspond to the address claim.
        Returns:
        The preferred address entries, empty map if none.
      • setAddress

        public void setAddress​(Address address)
        Sets the preferred address. Corresponds to the address claim, with no language tag.
        Parameters:
        address - The preferred address. If null the claim will be removed.
      • setAddress

        public void setAddress​(Address address,
                               com.nimbusds.langtag.LangTag langTag)
        Sets the preferred address. Corresponds to the address claim, with an optional language tag.
        Parameters:
        address - The preferred address. If null the claim will be removed.
        langTag - The language tag, null if not specified.
      • getUpdatedTime

        public Date getUpdatedTime()
        Gets the time the end-user information was last updated. Corresponds to the updated_at claim.
        Returns:
        The time the end-user information was last updated, null if not specified.
      • setUpdatedTime

        public void setUpdatedTime​(Date updatedTime)
        Sets the time the end-user information was last updated. Corresponds to the updated_at claim.
        Parameters:
        updatedTime - The time the end-user information was last updated. If null the claim will be removed.
      • addAggregatedClaims

        public void addAggregatedClaims​(AggregatedClaims aggregatedClaims)
        Adds the specified aggregated claims provided by an external claims source.
        Parameters:
        aggregatedClaims - The aggregated claims instance, if null nothing will be added.
      • getAggregatedClaims

        public Set<AggregatedClaimsgetAggregatedClaims()
        Gets the included aggregated claims provided by each external claims source.
        Returns:
        The aggregated claims, null if none are found.
      • addDistributedClaims

        public void addDistributedClaims​(DistributedClaims distributedClaims)
        Adds the specified distributed claims from an external claims source.
        Parameters:
        distributedClaims - The distributed claims instance, if null nothing will be added.
      • getDistributedClaims

        public Set<DistributedClaimsgetDistributedClaims()
        Gets the included distributed claims provided by each external claims source.
        Returns:
        The distributed claims, null if none are found.
      • parse

        public static UserInfo parse​(String json)
                              throws ParseException
        Parses a UserInfo claims set from the specified JSON object string.
        Parameters:
        json - The JSON object string to parse. Must not be null.
        Returns:
        The UserInfo claims set.
        Throws:
        ParseException - If parsing failed.