Class SubjectContext

  • All Implemented Interfaces:
    Iterable<BaseContext>

    public final class SubjectContext
    extends BaseContext
    A context that holds information about the subject of a request.

    The subject may or may not be authenticated, such as in a back-channel profile, but profiles that operate on subjects can treat the information as "trusted" for their purposes. This context must not be used to carry speculative or unverified subject information.

    This is the ultimate product of a successful authentication process.

    A second field is available to store an identity that is impersonating the effective subject identity. Profiles should operate on the effective subject unless they need to be aware of both identities.

    Parent:
    ProfileRequestContext
    Added:
    After the subject of a request is determined
    • Field Detail

      • impersonatingPrincipalName

        @Nullable
        private String impersonatingPrincipalName
        Canonical principal name of an impersonating identity.
      • principalName

        @Nullable
        private String principalName
        Canonical principal name of subject.
    • Constructor Detail

      • SubjectContext

        public SubjectContext()
        Constructor.
    • Method Detail

      • getPrincipalName

        @Nullable
        public String getPrincipalName()
        Get the canonical principal name of the subject.
        Returns:
        the canonical principal name
      • setPrincipalName

        @Nonnull
        public SubjectContext setPrincipalName​(@Nullable
                                               String name)
        Set the canonical principal name of the subject.
        Parameters:
        name - the canonical principal name
        Returns:
        this context
      • getImpersonatingPrincipalName

        @Nullable
        public String getImpersonatingPrincipalName()
        Get the canonical principal name of an identity that is impersonating the subject.
        Returns:
        the canonical principal name of an impersonating identity
        Since:
        3.4.0
      • setImpersonatingPrincipalName

        @Nonnull
        public SubjectContext setImpersonatingPrincipalName​(@Nullable
                                                            String name)
        Set the canonical principal name of an identity that is impersonating the subject.
        Parameters:
        name - the canonical principal name of an impersonating identity
        Returns:
        this context
        Since:
        3.4.0
      • getAuthenticationResults

        @Nonnull
        @NonnullElements
        @Live
        public Map<String,​AuthenticationResult> getAuthenticationResults()
        Get a mutable map of authentication flow IDs to authentication results.
        Returns:
        mutable map of authentication flow IDs to authentication results
      • getSubjects

        @Nonnull
        @NonnullElements
        @Unmodifiable
        @NotLive
        public List<Subject> getSubjects()
        Get an immutable list of Subjects extracted from every AuthenticationResult associated with the context.
        Returns:
        immutable list of Subjects