ClaimsMicroProfile

public class ClaimsMicroProfile : Claims

A class representing the MicroProfile claims as listed in MicroProfile specs.

  • Initialize a ClaimsMicroProfile

    Declaration

    Swift

    public init(
        iss: String,
        sub: String,
        exp: Date,
        iat: Date,
        jti: String,
        upn: String,
        groups: [String]
    )
  • iss

    The MP-JWT issuer. RFC7519, Section 4.1.1

    Declaration

    Swift

    public var iss: String
  • sub

    Identifies the principal that is the subject of the JWT.

    Declaration

    Swift

    public var sub: String
  • exp

    Identifies the expiration time on or after which the JWT MUST NOT be accepted for processing.

    Declaration

    Swift

    public var exp: Date
  • iat

    Identifies the time at which the JWT was issued.

    Declaration

    Swift

    public var iat: Date
  • jti

    The “jti” (JWT ID) claim provides a unique identifier for the JWT. The identifier value MUST be assigned in a manner that ensures that there is a negligible probability that the same value will be accidentally assigned to a different data object.

    Declaration

    Swift

    public var jti: String
  • upn

    This MP-JWT custom claim is the user principal name in the java.security.Principal interface, and is the caller principal name in javax.security.enterprise.identitystore.IdentityStore. If this claim is missing, fallback to the “preferred_username”, should be attempted, and if that claim is missing, fallback to the “sub” claim should be used.

    Declaration

    Swift

    public var upn: String?
  • Shorthand name by which the End-User wishes to be referred to at the RP, such as janedoe or j.doe. This value MAY be any valid JSON string including special characters such as @, /, or whitespace.

    Declaration

    Swift

    public var preferred_username: String?
  • This MP-JWT custom claim is the list of group names that have been assigned to the principal of the MP-JWT. This typically will required a mapping at the application container level to application deployment roles, but a one-to-one between group names and application role names is required to be performed in addition to any other mapping.

    Declaration

    Swift

    public var groups: [String]