Session
The session object contains context data regarding the following models:
authenticatorDeviceContext; the authenticator device is the one where the biometric and non-biometric challenges are triggered and verified.
exploiterDeviceContext; the exploiter device is the one consuming the session result in order to do an authentication for instance.
serviceContextDetails; information regarding running service/application
Each of the three contexts above gives access to the following properties:
Field | Description | Notes |
---|---|---|
localDateTime | Local date time of the machine | epoch milliseconds |
timezoneOffset | Offset from GMT described in minutes | . |
ip | IP address of the device | . |
location | Object containing geolocation details | Available properties are: ip, countryCode, countryName, regionCode, regionName, city, district, street, streetNumber, postalCode, coordinates, accuracy |
userAgentRaw | The raw user agent as it is returned in client | . |
userAgentName | Name of the client. If not present obtained by parsing userAgentRaw | . |
userAgentVersion | Version of the client. If not present obtained by parsing userAgentRaw | . |
userAgentDevice | Device type. If not present obtained by parsing userAgentRaw | . |
language | Language of the client | . |
internetConnectionType | Type of internet connection | . |
deviceMake | Device Manufacturer | . |
deviceModel | Device model | . |
osName | Name of the OS. If not present, obtained by parsing userAgentRaw | . |
osVersion | Version of the OS. If not present, obtained by parsing userAgentRaw | . |
isRooted | Check if device is rooted/jailbroken | . |
hasHardwareCryptoSupport | Check if device has hardware crypto support | . |
serviceIdentifier | Usually the relying party name | . |
For instance, to check if the user tried to do an authentication from home, one might check if the postal code of the current device location and the one registered in user repository match:
input.session.authenticatorDeviceContext.location.postalCode == input.identity.externalValues.postalCode