- Client Credentials Flow
- An user provides their authentication identifier (or authN ID) and password to the client.
- The client passes that data in a
POST session/startAPI request. This API invokes the Authenticate User Process. - (Conditional) The user passes additional security protocols (e.g., MFA, reCAPTCHA), if any.
- Digital Identity Management validates the user’s credentials and opens a user session.
- A JSESSIONID token and Remember-me token are returned in the API response.
- The user’s browser stores both tokens as browser cookies.
User Session Cookies
Once a user successfully authenticates with Digital Identity Management, the browser stores a JSESSIONID token and an optional remember-me token (called themint-sso-token) returned in the API call.
JESSIONID cookies are generally short-lived (between minutes and hours) and do not persist between browser windows, devices, or other session demarcation points.
Remember-me tokens, conversely, are long-lived tokens (between hours, days, and even months) that are used to transparently recreate a user’s session without the need for the user to authenticate again.
Remember-me tokens are optional. If a remember-me token is provided alongside a JSESSIONID, the remember-me token always takes precedence. In other words, if an expired JSESSIONID is provided alongside a valid remember-me token to any REST API, then that API uses the remember-me token to create a new user session and return a new JSESSIONID to the browser. Similarly, if a valid JSESSIONID is provided but does not match the session identifier in a provided remember-me token, then the current session is destroyed and a new session is created in its place with a new JSESSIONID returned that matches the remember-me token.
In any instance that a remember-me token is used to construct a new session, the system invalidates that particular remember-me token and issues a new one. This is a security measure to prevent cookie theft attacks from obtaining reusable authentication tokens.
Digital Identity Management Process API
An user authenticates into Digital Identity Management by way of thePOST /session/start API (also known as the Session Start API). This API invokes the Authenticate User Process that consumes the user’s credentials, verifies who they are, and opens a user session.
Once the user is authenticated, Digital Identity Management User details can be obtained via the
GET /user API.
The user can close their session with the POST /session/end API (with no payload). This invalidates both the current session (identified by the JSESSIONID cookie) and any issued remember-me tokens. will not invalidate any other sessions the user may have.
Note: Access to any protected REST API requires, at a bare minimum, a valid JSESSIONID token.
Parent topic:User Authentication
