Security Session API
Table of Contents
Login
Current Implementation
Logs in a user in the system. This operation generates a security token that is mandatory in any subsequent API call. The security token identifies a User-Device association. Same user registered in multiple devices will have multiple security tokens.
The login operation also returns some meta-data about the user. For example: organization and facility information, list of active devices for the current user and permissions of the current user.
The currently supported validation scenarios are:
- A valid Tag Id (i.e. NFC) is provided.
- A valid Username and Password are provided.
- A valid User Email and Password are provided.
- A temporal security token (with a life-span of 5 minutes) is requested.
Parameters
Base URL: /validateAccount
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
tagId | String | Only if 'email' and 'username' are omitted (Or 'temporal' parameter is provided). | The tag id (i.e. NFC) used to identify a user. If this parameter is provided, 'email' and 'username' parameters are discarded. |
username | String | Only if neither 'tagId' nor 'email' are provided (Or 'temporal' parameter is provided). | The id of a user. If this parameter is provided, a valid 'password' must also be provided. |
String | Only if neither 'tagId' nor 'username' are provided (Or 'temporal' parameter is provided). | The email of a user. If this parameter is provided, a valid 'password' must also be provided. | |
password | String | Only if 'username' or 'email' are provided (Or 'temporal' parameter is provided). | The password of the user. |
deviceId | String | Yes (Unless 'temporal' parameter is provided). | The id of the device where the user is being logged in. |
temporal | String | No | Indicates that we want to create a temporal security token. If this parameter is provided, all the other parameters are discarded. |
API Sample
curl 'http://192.168.2.102:8080/PresentationServices/validateAccount?tagId=poda&deviceId=596a1d880a22eb32&_=1395133673252' -H 'Accept: application/json, text/javascript, */*; q=0.01' -H 'User-Agent: Mozilla/5.0 (Linux; Android 4.4.2; Nexus 5 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/30.0.0.0 Mobile Safari/537.36' --compressed
Logout
Current Implementation
Logs out a user from one particular device or from all of the devices the user is currently logged in.
When a user is explicitly logged out from all of his/her registered devices, any patient association the user had is also removed.
Parameters
Base URL: /logoutAccount
Parameters:
Name | Type | Mandatory | Description |
---|---|---|---|
token | String | Yes | Security Token obtained before. |
userId | String | Yes unless a 'token' is a temporal token | The userId we want to log out. If what we are trying to log out is a temporal token, then this parameter is not mandatory. |
fromAllSessions | Boolean | No | Default value: False Defines whether we are trying to log out the user from all his/her registered devices (all the security tokens related to this particular user) or just from the device identified by the current security token. |
API Sample