title: How do I use browser fingerprint in my website?
body: <p>I want to identify users accessing my API even if they clear the <code>cookies</code> or <code>localstorage</code> wherever I am storing the current session information. I see that <code>browser fingerprinting</code> is one of the ways to achieve this up to some accuracy. I am working on an <code>angular2</code> project for the frontend. I have the following questions:</p>
  
  <ol>
  <li>Are there any libraries available for angular2 which creates the browser fingerprint? (I have seen <a href="https://github.com/KoderLabs/ng2-device-detector" rel="noreferrer">ng2-device-detector</a>. This doesn't give much info and also no hashed fingerprint. So, do I have to hash it myself? )</li>
  <li>Have seen <a href="https://github.com/Valve/fingerprintjs2" rel="noreferrer">fingerprintjs2</a> this does take a lot of info but has no implementation for <code>angular2</code>, but I wonder how would the hashed fingerprint actually matter? For a Request in my API, I will check if the payload contained a <code>fingerprint</code> which already existed in any of the existing sessions? (Really payload? It will just be a <code>POST</code> request. The user can simply send a random long string as the hashed <code>fingerprint</code> and the API will treat the request as if it came from a different person.)</li>
  <li>I guess then I will have to use some API which not only generates a <code>hashed fingerprint</code> in the <code>frontend</code> but also validates after the request has reached the API, something like <code>Google's reCaptcha</code>. Are there any APIs like such?</li>
  <li>If there aren't any APIs as such then I guess I will have to implement such functionality in my API itself?</li>
  </ol>
  
  <p>Please write your suggestions.</p>