Class AuthenticationManagementResource


  • public class AuthenticationManagementResource
    extends Object
    Author:
    Bill Burke
    • Field Detail

      • logger

        protected static final org.jboss.logging.Logger logger
    • Method Detail

      • getFormProviders

        @Path("/form-providers")
        @GET
        @Produces("application/json")
        public Stream<Map<String,​Object>> getFormProviders()
        Get form providers Returns a stream of form providers.
      • getAuthenticatorProviders

        @Path("/authenticator-providers")
        @GET
        @Produces("application/json")
        public Stream<Map<String,​Object>> getAuthenticatorProviders()
        Get authenticator providers Returns a stream of authenticator providers.
      • getClientAuthenticatorProviders

        @Path("/client-authenticator-providers")
        @GET
        @Produces("application/json")
        public Stream<Map<String,​Object>> getClientAuthenticatorProviders()
        Get client authenticator providers Returns a stream of client authenticator providers.
      • buildProviderMetadata

        public Stream<Map<String,​Object>> buildProviderMetadata​(Stream<org.keycloak.provider.ProviderFactory> factories)
      • getFormActionProviders

        @Path("/form-action-providers")
        @GET
        @Produces("application/json")
        public Stream<Map<String,​Object>> getFormActionProviders()
        Get form action providers Returns a stream of form action providers.
      • getFlows

        @Path("/flows")
        @GET
        @Produces("application/json")
        public Stream<org.keycloak.representations.idm.AuthenticationFlowRepresentation> getFlows()
        Get authentication flows Returns a stream of authentication flows.
      • createFlow

        @Path("/flows")
        @POST
        @Consumes("application/json")
        public javax.ws.rs.core.Response createFlow​(org.keycloak.representations.idm.AuthenticationFlowRepresentation flow)
        Create a new authentication flow
        Parameters:
        flow - Authentication flow representation
        Returns:
      • getFlow

        @Path("/flows/{id}")
        @GET
        @Produces("application/json")
        public org.keycloak.representations.idm.AuthenticationFlowRepresentation getFlow​(@PathParam("id")
                                                                                         String id)
        Get authentication flow for id
        Parameters:
        id - Flow id
        Returns:
      • updateFlow

        @Path("/flows/{id}")
        @PUT
        @Consumes("application/json")
        @Produces("application/json")
        public javax.ws.rs.core.Response updateFlow​(@PathParam("id")
                                                    String id,
                                                    org.keycloak.representations.idm.AuthenticationFlowRepresentation flow)
        Update an authentication flow
        Parameters:
        flow - Authentication flow representation
        Returns:
      • deleteFlow

        @Path("/flows/{id}")
        @DELETE
        public void deleteFlow​(@PathParam("id")
                               String id)
        Delete an authentication flow
        Parameters:
        id - Flow id
      • copy

        @Path("/flows/{flowAlias}/copy")
        @POST
        @Consumes("application/json")
        public javax.ws.rs.core.Response copy​(@PathParam("flowAlias")
                                              String flowAlias,
                                              Map<String,​String> data)
        Copy existing authentication flow under a new name The new name is given as 'newName' attribute of the passed JSON object
        Parameters:
        flowAlias - Name of the existing authentication flow
        data - JSON containing 'newName' attribute
      • copyFlow

        public static org.keycloak.models.AuthenticationFlowModel copyFlow​(org.keycloak.models.RealmModel realm,
                                                                           org.keycloak.models.AuthenticationFlowModel flow,
                                                                           String newName)
      • copy

        public static void copy​(org.keycloak.models.RealmModel realm,
                                String newName,
                                org.keycloak.models.AuthenticationFlowModel from,
                                org.keycloak.models.AuthenticationFlowModel to)
      • addExecutionFlow

        @Path("/flows/{flowAlias}/executions/flow")
        @POST
        @Consumes("application/json")
        public javax.ws.rs.core.Response addExecutionFlow​(@PathParam("flowAlias")
                                                          String flowAlias,
                                                          Map<String,​String> data)
        Add new flow with new execution to existing flow
        Parameters:
        flowAlias - Alias of parent authentication flow
        data - New authentication flow / execution JSON data containing 'alias', 'type', 'provider', and 'description' attributes
      • addExecutionToFlow

        @Path("/flows/{flowAlias}/executions/execution")
        @POST
        @Consumes("application/json")
        public javax.ws.rs.core.Response addExecutionToFlow​(@PathParam("flowAlias")
                                                            String flowAlias,
                                                            Map<String,​String> data)
        Add new authentication execution to a flow
        Parameters:
        flowAlias - Alias of parent flow
        data - New execution JSON data containing 'provider' attribute
      • getExecutions

        @Path("/flows/{flowAlias}/executions")
        @GET
        @Produces("application/json")
        public javax.ws.rs.core.Response getExecutions​(@PathParam("flowAlias")
                                                       String flowAlias)
        Get authentication executions for a flow
        Parameters:
        flowAlias - Flow alias
      • recurseExecutions

        public void recurseExecutions​(org.keycloak.models.AuthenticationFlowModel flow,
                                      List<org.keycloak.representations.idm.AuthenticationExecutionInfoRepresentation> result,
                                      int level)
      • updateExecutions

        @Path("/flows/{flowAlias}/executions")
        @PUT
        @Produces("application/json")
        @Consumes("application/json")
        public javax.ws.rs.core.Response updateExecutions​(@PathParam("flowAlias")
                                                          String flowAlias,
                                                          org.keycloak.representations.idm.AuthenticationExecutionInfoRepresentation rep)
        Update authentication executions of a Flow
        Parameters:
        flowAlias - Flow alias
        rep - AuthenticationExecutionInfoRepresentation
      • getExecution

        @Path("/executions/{executionId}")
        @GET
        @Produces("application/json")
        public javax.ws.rs.core.Response getExecution​(@PathParam("executionId")
                                                      String executionId)
        Get Single Execution
      • addExecution

        @Path("/executions")
        @POST
        @Consumes("application/json")
        public javax.ws.rs.core.Response addExecution​(org.keycloak.representations.idm.AuthenticationExecutionRepresentation execution)
        Add new authentication execution
        Parameters:
        execution - JSON model describing authentication execution
      • getParentFlow

        public org.keycloak.models.AuthenticationFlowModel getParentFlow​(org.keycloak.models.AuthenticationExecutionModel model)
      • raisePriority

        @Path("/executions/{executionId}/raise-priority")
        @POST
        public void raisePriority​(@PathParam("executionId")
                                  String execution)
        Raise execution's priority
        Parameters:
        execution - Execution id
      • lowerPriority

        @Path("/executions/{executionId}/lower-priority")
        @POST
        public void lowerPriority​(@PathParam("executionId")
                                  String execution)
        Lower execution's priority
        Parameters:
        execution - Execution id
      • removeExecution

        @Path("/executions/{executionId}")
        @DELETE
        public void removeExecution​(@PathParam("executionId")
                                    String execution)
        Delete execution
        Parameters:
        execution - Execution id
      • newExecutionConfig

        @Path("/executions/{executionId}/config")
        @POST
        @Consumes("application/json")
        public javax.ws.rs.core.Response newExecutionConfig​(@PathParam("executionId")
                                                            String execution,
                                                            org.keycloak.representations.idm.AuthenticatorConfigRepresentation json)
        Update execution with new configuration
        Parameters:
        execution - Execution id
        json - JSON with new configuration
        Returns:
      • getAuthenticatorConfig

        @Path("/executions/{executionId}/config/{id}")
        @GET
        @Produces("application/json")
        public org.keycloak.representations.idm.AuthenticatorConfigRepresentation getAuthenticatorConfig​(@PathParam("executionId")
                                                                                                         String execution,
                                                                                                         @PathParam("id")
                                                                                                         String id)
        Deprecated.
        Get execution's configuration
        Parameters:
        execution - Execution id
        id - Configuration id
      • getUnregisteredRequiredActions

        @Path("unregistered-required-actions")
        @GET
        @Produces("application/json")
        public Stream<Map<String,​String>> getUnregisteredRequiredActions()
        Get unregistered required actions Returns a stream of unregistered required actions.
      • registerRequiredAction

        @Path("register-required-action")
        @POST
        @Consumes("application/json")
        public void registerRequiredAction​(Map<String,​String> data)
        Register a new required actions
        Parameters:
        data - JSON containing 'providerId', and 'name' attributes.
      • getRequiredActions

        @Path("required-actions")
        @GET
        @Produces("application/json")
        public Stream<org.keycloak.representations.idm.RequiredActionProviderRepresentation> getRequiredActions()
        Get required actions Returns a stream of required actions.
      • toRepresentation

        public static org.keycloak.representations.idm.RequiredActionProviderRepresentation toRepresentation​(org.keycloak.models.RequiredActionProviderModel model)
      • getRequiredAction

        @Path("required-actions/{alias}")
        @GET
        @Produces("application/json")
        public org.keycloak.representations.idm.RequiredActionProviderRepresentation getRequiredAction​(@PathParam("alias")
                                                                                                       String alias)
        Get required action for alias
        Parameters:
        alias - Alias of required action
      • updateRequiredAction

        @Path("required-actions/{alias}")
        @PUT
        @Consumes("application/json")
        public void updateRequiredAction​(@PathParam("alias")
                                         String alias,
                                         org.keycloak.representations.idm.RequiredActionProviderRepresentation rep)
        Update required action
        Parameters:
        alias - Alias of required action
        rep - JSON describing new state of required action
      • removeRequiredAction

        @Path("required-actions/{alias}")
        @DELETE
        public void removeRequiredAction​(@PathParam("alias")
                                         String alias)
        Delete required action
        Parameters:
        alias - Alias of required action
      • raiseRequiredActionPriority

        @Path("required-actions/{alias}/raise-priority")
        @POST
        public void raiseRequiredActionPriority​(@PathParam("alias")
                                                String alias)
        Raise required action's priority
        Parameters:
        alias - Alias of required action
      • lowerRequiredActionPriority

        @Path("/required-actions/{alias}/lower-priority")
        @POST
        public void lowerRequiredActionPriority​(@PathParam("alias")
                                                String alias)
        Lower required action's priority
        Parameters:
        alias - Alias of required action
      • getAuthenticatorConfigDescription

        @Path("config-description/{providerId}")
        @GET
        @Produces("application/json")
        public org.keycloak.representations.idm.AuthenticatorConfigInfoRepresentation getAuthenticatorConfigDescription​(@PathParam("providerId")
                                                                                                                        String providerId)
        Get authenticator provider's configuration description
      • getPerClientConfigDescription

        @Path("per-client-config-description")
        @GET
        @Produces("application/json")
        public Map<String,​List<org.keycloak.representations.idm.ConfigPropertyRepresentation>> getPerClientConfigDescription()
        Get configuration descriptions for all clients
      • createAuthenticatorConfig

        @Path("config")
        @POST
        @Consumes("application/json")
        public javax.ws.rs.core.Response createAuthenticatorConfig​(org.keycloak.representations.idm.AuthenticatorConfigRepresentation rep)
        Create new authenticator configuration
        Parameters:
        rep - JSON describing new authenticator configuration
      • getAuthenticatorConfig

        @Path("config/{id}")
        @GET
        @Produces("application/json")
        public org.keycloak.representations.idm.AuthenticatorConfigRepresentation getAuthenticatorConfig​(@PathParam("id")
                                                                                                         String id)
        Get authenticator configuration
        Parameters:
        id - Configuration id
      • removeAuthenticatorConfig

        @Path("config/{id}")
        @DELETE
        public void removeAuthenticatorConfig​(@PathParam("id")
                                              String id)
        Delete authenticator configuration
        Parameters:
        id - Configuration id
      • updateAuthenticatorConfig

        @Path("config/{id}")
        @PUT
        @Consumes("application/json")
        public void updateAuthenticatorConfig​(@PathParam("id")
                                              String id,
                                              org.keycloak.representations.idm.AuthenticatorConfigRepresentation rep)
        Update authenticator configuration
        Parameters:
        id - Configuration id
        rep - JSON describing new state of authenticator configuration