# AuthServiceResource Resource

The Authentication Service is used to manage Single Sign On capabilities.

This service is not yet available for general use.

The API to control the Authentication Service is basically the same as the API for the MGMT service. Both are not associated with a cluster and represent CM-managed resources.

### DELETE /cm/authService

Delete the Authentication Service.

This method will fail if a CMS instance doesn't already exist.

Response Body
media type | data type | description
--- | --- | ---
application/json | ApiService (JSON) | ApiService The deleted CMS information.

### GET /cm/authService

Retrieve information about the Authentication Service.

Request Parameters
name | type | description | default
--- | --- | --- | ---
view | query |  | summary

Response Body
media type | data type | description
--- | --- | ---
application/json | ApiService (JSON) | Details about the management service.

### GET /cm/authService

Retrieve information about the Authentication Services.

Response Body
media type | data type | description
--- | --- | ---
application/json | ApiService (JSON) | Details about the management service.

### PUT /cm/authService

Setup the Authentication Service.

Configure the Auth Service instance with the information given in the ApiService. The provided configuration data can be used to set up host mappings for each role, and required configuration such as database connection information for specific roles.

This method needs a valid CM license to be installed beforehand.

This method does not start any services or roles.

This method will fail if a Auth Service instance already exists.

Available role types:

- AUTHSRV

Request Body
media type | data type | description
--- | --- | ---
application/json | ApiService (JSON) | Role configuration overrides.

Response Body
media type | data type | description
--- | --- | ---
application/json | ApiService (JSON) | ApiService The CMS information.

### PUT /cm/authService/autoAssignRoles

Automatically assign roles to hosts and create the roles for the Authentication Service.

Assignments are done based on number of hosts in the deployment and hardware specifications. If no hosts are part of the deployment, an exception will be thrown preventing any role assignments. Existing roles will be taken into account and their assignments will be not be modified. The deployment should not have any clusters when calling this endpoint. If it does, an exception will be thrown preventing any role assignments.

### PUT /cm/authService/autoConfigure

Automatically configures roles of the Authentication Service.

Overwrites some existing configurations. Only default role config groups must exist before calling this endpoint. Other role config groups must not exist. If they do, an exception will be thrown preventing any configuration. Ignores any clusters (and their services and roles) colocated with the Authentication Service.

### GET /cm/authService/commands

List active Authentication Service commands.

Request Parameters
name | type | description | default
--- | --- | --- | ---
view | query | The view of the data to materialize, either "summary" or "full". | summary

Response Body
media type | data type | description
--- | --- | ---
application/json | ApiCommandList (JSON) | A list of active role commands.

### GET /cm/authService/config

Request Parameters
name | type | description | default
--- | --- | --- | ---
view | query |  | summary

Response Body
media type | data type | description
--- | --- | ---
application/json | ApiServiceConfig (JSON) |

### PUT /cm/authService/config

Request Parameters
name | type | description | default
--- | --- | --- | ---
message | query |  | n/a

Request Body
media type | data type
--- | ---
application/json | ApiServiceConfig (JSON)

Response Body
media type | data type | description
--- | --- | ---
application/json | ApiServiceConfig (JSON) |

### GET /cm/authService/roleTypes

List the supported role types for the Authentication Service.

Response Body
media type | data type | description
--- | --- | ---
application/json | ApiRoleTypeList (JSON) | List of role types the service supports.

### POST /cm/authService/commands/enterMaintenanceMode

Put the Authentication Service into maintenance mode. This is a synchronous command. The result is known immediately upon return.

Response Body
media type | data type | description
--- | --- | ---
application/json | ApiCommand (JSON) | Synchronous command result.

### POST /cm/authService/commands/exitMaintenanceMode

Take the Authentication Service out of maintenance mode. This is a synchronous command. The result is known immediately upon return.

Response Body
media type | data type | description
--- | --- | ---
application/json | ApiCommand (JSON) | Synchronous command result.

### POST /cm/authService/commands/restart

Restart the Authentication Service.

Response Body
media type | data type | description
--- | --- | ---
application/json | ApiCommand (JSON) | A reference to the submitted command.

### POST /cm/authService/commands/start

Start the Authentication Service.

Response Body
media type | data type | description
--- | --- | ---
application/json | ApiCommand (JSON) | A reference to the submitted command.

### POST /cm/authService/commands/stop

Stop the Authentication Service.

Response Body
media type | data type | description
--- | --- | ---
application/json | ApiCommand (JSON) | A reference to the submitted command.