This topic an extension upon the following recent topic:
How can we know what device client is running on?>
"How can we know what device client is running on?"
'Device Fingerprinting' (does NOT use Cookies or save any files/data on user's device) is very useful and I think will be used more and more in the future.
According to what I've read, the combination of 'User Agent', Screen Size, and IP Address identify a device to the extent of 1 in 32 million.
Following is an example of a User Agent string passed from the browser to the server:
"Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; .NET4.0C; .NET4.0E; .NET CLR 2.0.50727; .NET CLR 3.0.30729; .NET CLR 3.5.30729; rv:11.0) like Gecko"
Perhaps Screen Resolution and other Hardware specifications data is also available to an application which could also be incorporated in a concatenated Device Fingerprint type evaluation?
If a user can log in by only having to enter their Password because their Device Fingerprint has been recognised, then it's gotta be a good thing in terms of UX.
To this end it would make sense to extend the Attributes of LoginNotification and LoginAttemptNotification, which already include:
- ReferringURL
- RemoteAddress
..to also include:
- User Agent
- Screen Width
- Screen Height
- Screen Resolution
..
..plus any other Hardware specifications data accessible
OR, create functions to be able to ascertain them at runtime.