Class AuthnActionSpec<ModelType>

java.lang.Object
com.pingidentity.sdk.api.authn.spec.AuthnActionSpec<ModelType>
Type Parameters:
ModelType - The type for the model associated with the action (or Void if no model is associated with the action).

public class AuthnActionSpec<ModelType> extends Object
A class which acts as a template for AuthnAction instances. This allows common definitions for authentication flow actions to be shared across plugins. This class is also used to generate documentation for a plugin's API. Once created, objects of this class are immutable. Objects of this class are not normally returned in API responses. Instead, you create an AuthnAction instance using the makeInstance() method.
Since:
9.3
  • Method Details

    • getId

      public String getId()
      Get the ID of the action. The Content-Type for the action is constructed from this by prepending "application/vnd.pingidentity." and appending "+json".
    • getDescription

      public String getDescription()
      Gets the description of this action for API documentation.
    • getModelClass

      public Class<ModelType> getModelClass()
      Gets the class of the model associated with this action, if there is one.
    • getErrorGroups

      public List<AuthnErrorGroup> getErrorGroups()
      Get a list of errors that can be returned when this action is requested. This method is used for generating API documentation for the action.
    • makeInstance

      public AuthnAction makeInstance()
      Create a new AuthnAction instance based on this spec.
      Returns:
      A new action instance.
    • makeParamMapping

      public <ValueType> ParamMapping<ModelType,ValueType> makeParamMapping(String formParamName, Function<ModelType,ValueType> modelFieldRetriever, Function<String,ValueType> paramFieldRetriever)
      Create a new param mapping from this action spec.
      Parameters:
      formParamName - The name of the form parameter.
      modelFieldRetriever - A function for retrieving the value of this field from an instance of the action's model.
      paramFieldRetriever - A function for retrieving the value of this field from the servlet request's parameter
      Returns:
      The resulting param mapping.
    • isRequested

      public boolean isRequested(javax.servlet.http.HttpServletRequest req)
      Determine if this action has been requested, based on the content type of the request.
      Parameters:
      req - The servlet request.
      Returns:
      True if req is an API request and this action was requested.
    • deserializeModel

      public ModelType deserializeModel(javax.servlet.http.HttpServletRequest request) throws AuthnErrorException, IOException
      Deserialize the JSON body of an API request into an instance of the model for this action.
      Parameters:
      request - The servlet request.
      Returns:
      An instance of the model for this action.
      Throws:
      AuthnErrorException - If an error occurred during validation of the JSON body against the expected API model class
      IOException - If an error occurred while attempting to deserialize the request.
      Since:
      10.1