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 describe three different entrypoints for this Resource, useful when querying Session Information:
    • All - All sessions across all servers known to OpenAM.
    • Servers - Lists all servers that are known to OpenAM.
    • [server-id] - Lists the servers for that server instance.
    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. all - (default) will query all Sessions across all servers. list - will list the available servers which is useful for the next query [server-id] - will list the available Sessions on the named server.
        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