Skip to main content
Version: 7.2605.x.x LTS

nevisIDM Authentication REST API

Introduction​

The nevisIDM Authentication REST API enables to authenticate users using their credentials.

Recovery Code​

Recovery Code REST Service to authenticate users with recovery codes.

Recovery Code login DTO​

The Recovery Code login DTO has the following parameter:

  • code - The recovery code (string).

Recovery Code login​

Login with Recovery Code

POST /{clientExtId}/users/{userExtId}/recovery-codes/login/

Log in with a recovery code of the user with the given external ID.

Each code can be used only once.

since 2.78​

Required permissions​

  • AccessControl.CredentialView
  • AccessControl.CredentialModify
  • AccessControl.CredentialChangeState

Example URI​

POST https://your-host/nevisidm/api/auth/v1/1000/users/1234/recovery-codes/login/

URI Parameters​

  • clientExtId string (required) Example: 1000

    ExtID of the client.

  • userExtId string (required) Example: 1234

    ExtID of the user.

Request​

  • Headers: Content-Type: application/json
  • Body:
 {
"code": "abcd-efgh-1234-5678"
}

Response 204​

  • Headers: Content-Type: application/json

Password​

Password REST Service to authenticate users with password credential.

Password Login DTO​

The password login DTO has the following parameters:

  • password - The password to be verified (string).

Login Status DTO​

The login status DTO has the following parameters:

  • statusCode - Indicates login status after processing update login information (integer).
  • description - Human readable login status information (string).

Password login​

Login with password credential

POST /{clientExtId}/users/{userExtId}/password/login/

Log in with the defined password credential of the user.

since 2.88​

Required permissions​

  • AccessControl.CredentialView
  • AccessControl.CredentialModify
  • AccessControl.CredentialChangeState

Example URI​

POST https://your-host/nevisidm/api/auth/v1/1000/users/1234/password/login/

URI Parameters​

  • clientExtId string (required) Example: 1000

    ExtID of the client.

  • userExtId string (required) Example: 1234

    ExtID of the user.

Request​

  • Headers: Content-Type: application/json
  • Body:
{
"password": "1StrongPassword!"
}

Response 200​

  • Headers: Content-Type: application/json
  • Body:
{
"statusCode": 5,
"description": "Login Ok"
}

Response 404​

  • Headers: Content-Type: application/json
  • Body:
{
"errors": [
{
"code": "errors.noRecord",
"message": "There is no client with external identifier 'nonExistingClient'"
}
]
}

Response 404​

  • Headers: Content-Type: application/json
  • Body:
{
"errors": [
{
"code": "errors.noRecord",
"message": "There is no user with external identifier 'nonExistingUser' in client 'Default'"
}
]
}

Response 404​

  • Headers: Content-Type: application/json
  • Body:
{
"errors": [
{
"code": "errors.noRecord",
"message": "No password credential defined for user '9999999442'"
}
]
}

Response 422​

  • Headers: Content-Type: application/json
  • Body:
{
"errors": [
{
"code": "errors.credentialNotActive",
"message": "The password credential is not active (current state 'disabled') of user '9999999442'"
}
]
}

Device Password​

Device Password REST Service to authenticate users with device password credential.

Device Password Login DTO​

The device password login DTO has the following parameters:

  • password - The password to be verified (string).
  • credentialExtId - Credential’s external identifier (aka. device identifier) (string).

Login Status DTO​

The login status DTO has the following parameters:

  • statusCode - Indicates login status after processing update login information (integer).
  • description - Human readable login status information (string).

Password login​

Login with device password credential

POST /{clientExtId}/users/{userExtId}/device-password/login/

Log in with the defined device password credential of the user.

since 2.88​

Required permissions​

  • AccessControl.CredentialView
  • AccessControl.CredentialModify
  • AccessControl.CredentialChangeState

Example URI​

POST https://your-host/nevisidm/api/auth/v1/1000/users/1234/device-password/login/

URI Parameters​

  • clientExtId string (required) Example: 1000

    ExtID of the client.

  • userExtId string (required) Example: 1234

    ExtID of the user.

Request​

  • Headers: Content-Type: application/json
  • Body:
{
"password": "1StrongPassword!"
"credentialExtId": "user1-devicePassword1"
}

Response 200​

  • Headers: Content-Type: application/json
  • Body:
{
"statusCode": 5,
"description": "Login Ok"
}

Response 404​

  • Headers: Content-Type: application/json
  • Body:
{
"errors": [
{
"code": "errors.noRecord",
"message": "There is no client with external identifier 'nonExistingClient'"
}
]
}

Response 404​

  • Headers: Content-Type: application/json
  • Body:
{
"errors": [
{
"code": "errors.noRecord",
"message": "There is no user with external identifier 'nonExistingUser' in client 'Default'"
}
]
}

Response 404​

  • Headers: Content-Type: application/json
  • Body:
{
"errors": [
{
"code": "errors.noRecord",
"message": "No device password defined for user '9999999442' with extId 'user1-devicePassword1'"
}
]
}

Response 422​

  • Headers: Content-Type: application/json^
  • Body:
{
"errors": [
{
"code": "errors.credentialNotActive",
"message": "The device password is not active (current state 'disabled') of user '9999999442'"
}
]
}

Context Password​

Context Password REST Service to authenticate users with context password credential.

Context Password Login DTO​

The password login DTO has the following parameters:

  • password - The password to be verified (string).
  • context - Credential’s context (string).

Login Status DTO​

The login status DTO has the following parameters:

  • statusCode - Indicates login status after processing update login information (integer).
  • description - Human readable login status information (string).

Password login​

Login with context password credential

POST /{clientExtId}/users/{userExtId}/context-password/login/

Log in with the defined context password credential of the user.

since 2.88​

Required permissions​

  • AccessControl.CredentialView
  • AccessControl.CredentialModify
  • AccessControl.CredentialChangeState

Example URI​

POST https://your-host/nevisidm/api/auth/v1/1000/users/1234/context-password/login/

URI Parameters​

  • clientExtId string (required) Example: 1000

    ExtID of the client.

  • userExtId string (required) Example: 1234

    ExtID of the user.

Request​

  • Headers: Content-Type: application/json
  • Body:
{
"password": "1StrongPassword!"
"context": "user1-context1"
}

Response 200​

  • Headers: Content-Type: application/json
  • Body:
{
"statusCode": 5,
"description": "Login Ok"
}

Response 404​

  • Headers: Content-Type: application/json
  • Body:
{
"errors": [
{
"code": "errors.noRecord",
"message": "There is no client with external identifier 'nonExistingClient'"
}
]
}

Response 404​

  • Headers: Content-Type: application/json
  • Body:
{
"errors": [
{
"code": "errors.noRecord",
"message": "There is no user with external identifier 'nonExistingUser' in client 'Default'"
}
]
}

Response 404​

  • Headers: Content-Type: application/json
  • Body:
{
"errors": [
{
"code": "errors.noRecord",
"message": "No context password defined for user '9999999442' with context 'user1-context1'"
}
]
}

Response 422​

  • Headers: Content-Type: application/json
  • Body:
{
"errors": [
{
"code": "errors.credentialNotActive",
"message": "The context password is not active (current state 'disabled') in context 'user1-context1' of user '9999999442'"
}
]
}