Class SessionResource

  • All Implemented Interfaces:
    org.forgerock.json.resource.CollectionResourceProvider

    public class SessionResource
    extends Object
    implements org.forgerock.json.resource.CollectionResourceProvider
    Represents Sessions that can queried via a REST interface. Currently describes a single entrypoint for this Resource, useful when querying Session Information:
    • Servers - Lists all servers that are known to OpenAM.
    The session listing queries of this version, all and [server-id], are no longer supported: they listed the sessions of every realm to any caller reaching this endpoint. Sessions are listed by version 2.0 of this resource, which authorizes the realm of the query filter against the caller. This resources acts as a read only resource for the most part, allowing only specific, whitelisted properties to be set through it.
    • Constructor Detail

      • SessionResource

        @Inject
        public SessionResource​(SSOTokenManager ssoTokenManager,
                               AuthUtilsWrapper authUtilsWrapper,
                               SessionPropertyWhitelist sessionPropertyWhitelist,
                               SessionResourceUtil sessionResourceUtil)
        Dependency Injection constructor allowing the SessionResource dependency to be provided.
        Parameters:
        ssoTokenManager - An instance of the SSOTokenManager.
        authUtilsWrapper - An instance of AuthUtilsWrapper
        sessionPropertyWhitelist - An instance of sessionPropertyWhitelist.
        sessionResourceUtil - An instance of the SessionResourceUtil.
    • Method Detail

      • getAllServerIds

        public Collection<String> getAllServerIds()
        Returns a collection of all Server ID that are known to the OpenAM instance.
        Returns:
        A non null, possibly empty collection of server ids.
      • getTokenIdFromUrlParam

        protected String getTokenIdFromUrlParam​(org.forgerock.json.resource.ActionRequest request)
      • getTokenIdFromCookie

        protected String getTokenIdFromCookie​(org.forgerock.services.context.Context context,
                                              String cookieName)
      • getTokenIdFromHeader

        protected String getTokenIdFromHeader​(org.forgerock.services.context.Context context,
                                              String cookieName)
      • queryCollection

        public org.forgerock.util.promise.Promise<org.forgerock.json.resource.QueryResponse,​org.forgerock.json.resource.ResourceException> queryCollection​(org.forgerock.services.context.Context context,
                                                                                                                                                                 org.forgerock.json.resource.QueryRequest request,
                                                                                                                                                                 org.forgerock.json.resource.QueryResourceHandler handler)
        Queries the session resources using one of the predefined query filters. list - will list the available servers.

        The session listing queries of this version, all and [server-id], are no longer supported. They listed the sessions of a server, or of the whole deployment, through the session service RPC under the administrative token of the server: neither the realm the sessions belong to nor the caller took part in the query, so an administrator delegated a single realm was answered with the sessions of every realm of the deployment. Sessions are listed by version 2.0 of this resource instead, whose query filter names the realm to list, which is authorized against the caller. The RPC method these queries were built on has been removed as well, so they have not returned a session since.

        Specified by:
        queryCollection in interface org.forgerock.json.resource.CollectionResourceProvider
        Parameters:
        context -
        request -
        handler -
      • readInstance

        public org.forgerock.util.promise.Promise<org.forgerock.json.resource.ResourceResponse,​org.forgerock.json.resource.ResourceException> readInstance​(org.forgerock.services.context.Context context,
                                                                                                                                                                 String id,
                                                                                                                                                                 org.forgerock.json.resource.ReadRequest request)
        Perform a read operation against a named session.
        Specified by:
        readInstance in interface org.forgerock.json.resource.CollectionResourceProvider
      • createInstance

        public org.forgerock.util.promise.Promise<org.forgerock.json.resource.ResourceResponse,​org.forgerock.json.resource.ResourceException> createInstance​(org.forgerock.services.context.Context ctx,
                                                                                                                                                                   org.forgerock.json.resource.CreateRequest request)
        Specified by:
        createInstance in interface org.forgerock.json.resource.CollectionResourceProvider
      • deleteInstance

        public org.forgerock.util.promise.Promise<org.forgerock.json.resource.ResourceResponse,​org.forgerock.json.resource.ResourceException> deleteInstance​(org.forgerock.services.context.Context ctx,
                                                                                                                                                                   String resId,
                                                                                                                                                                   org.forgerock.json.resource.DeleteRequest request)
        Specified by:
        deleteInstance in interface org.forgerock.json.resource.CollectionResourceProvider
      • patchInstance

        public org.forgerock.util.promise.Promise<org.forgerock.json.resource.ResourceResponse,​org.forgerock.json.resource.ResourceException> patchInstance​(org.forgerock.services.context.Context ctx,
                                                                                                                                                                  String resId,
                                                                                                                                                                  org.forgerock.json.resource.PatchRequest request)
        Specified by:
        patchInstance in interface org.forgerock.json.resource.CollectionResourceProvider
      • updateInstance

        public org.forgerock.util.promise.Promise<org.forgerock.json.resource.ResourceResponse,​org.forgerock.json.resource.ResourceException> updateInstance​(org.forgerock.services.context.Context ctx,
                                                                                                                                                                   String resId,
                                                                                                                                                                   org.forgerock.json.resource.UpdateRequest request)
        Specified by:
        updateInstance in interface org.forgerock.json.resource.CollectionResourceProvider