Class AccessGrantSession

  • All Implemented Interfaces:
    Session

    public final class AccessGrantSession
    extends Object
    implements Session
    A session implementation that makes use of Access Grants.
    • Field Detail

      • VERIFIABLE_CREDENTIAL

        public static final URI VERIFIABLE_CREDENTIAL
        The VerifiableCredential format URI, for use with UMA.
    • Method Detail

      • ofAccessGrant

        public static AccessGrantSession ofAccessGrant​(Session session,
                                                       AccessGrant... accessGrants)
        Create a session with a collection of known access grants.
        Parameters:
        session - the OpenID Session
        accessGrants - the access grants
        Returns:
        the Access Grant-based session
      • ofAccessGrant

        public static AccessGrantSession ofAccessGrant​(Session session,
                                                       ClientCache<URI,​Credential> cache,
                                                       AccessGrant... accessGrants)
        Create a session with a collection of known access grants.
        Parameters:
        session - the OpenID Session
        cache - a pre-configured cache
        accessGrants - the access grants
        Returns:
        the Access Grant-based session
      • getId

        public String getId()
        Description copied from interface: Session
        Retrieve the identifier associated with this session.
        Specified by:
        getId in interface Session
        Returns:
        a session identifier
      • reset

        public void reset()
        Description copied from interface: Session
        Reset the session state, clearing any internal caches.
        Specified by:
        reset in interface Session
      • getPrincipal

        public Optional<URI> getPrincipal()
        Description copied from interface: Session
        Retrieve the principal associated with this session.

        Typically, this will be a WebID or other globally unique value

        Specified by:
        getPrincipal in interface Session
        Returns:
        the principal identifier, if present
      • supportedSchemes

        public Set<String> supportedSchemes()
        Description copied from interface: Session
        Retrieve the authentication schemes supported by this session.
        Specified by:
        supportedSchemes in interface Session
        Returns:
        the scheme identifiers
      • getCredential

        public Optional<Credential> getCredential​(URI name,
                                                  URI uri)
        Description copied from interface: Session
        Retrieve a credential from this session.
        Specified by:
        getCredential in interface Session
        Parameters:
        name - the credential name
        uri - the request URI
        Returns:
        the credential, if present
      • selectThumbprint

        public Optional<String> selectThumbprint​(Collection<String> algorithms)
        Description copied from interface: Session
        Select the thumbprint from a set of candidate algorithms.
        Specified by:
        selectThumbprint in interface Session
        Parameters:
        algorithms - the supported algorithms
        Returns:
        the keypair thumbprint
      • generateProof

        public Optional<String> generateProof​(String jkt,
                                              Request request)
        Description copied from interface: Session
        Generate a proof for a request.
        Specified by:
        generateProof in interface Session
        Parameters:
        jkt - the JSON Key thumbprint for the proof key
        request - the request
        Returns:
        a proof token
      • authenticate

        public CompletionStage<Optional<Credential>> authenticate​(Authenticator authenticator,
                                                                  Request request,
                                                                  Set<String> algorithms)
        Description copied from interface: Session
        Fetch an authentication token from session values.
        Specified by:
        authenticate in interface Session
        Parameters:
        authenticator - the authenticator in use
        request - the HTTP request
        algorithms - the supported DPoP algorithms
        Returns:
        the next stage of completion, containing an access token, if present
      • fromCache

        public Optional<Credential> fromCache​(Request request)
        Description copied from interface: Session
        Retrieve an access token for a request from a cache.
        Specified by:
        fromCache in interface Session
        Parameters:
        request - the HTTP request
        Returns:
        the access token, if present