@binance/fingerprint

binance web fingerprint

Usage no npm install needed!

<script type="module">
  import binanceFingerprint from 'https://cdn.skypack.dev/@binance/fingerprint';
</script>

README

@binance/fingerprint

Binance fingerprint is a fingerprint collection SDK on the web, which is used to identify a unique user.

Install

yarn add @binance/fingerprint

Usage

import { getInfoPromise } from '@binance/fingerprint'

const deviceInfo = await getInfoPromise()

console.log(deviceInfo) // a base64 string

API

getInfoPromise(id?: string): Promise

Get device information, Will contain fingerprint information + device ID + associated old device ID

  • id: Used to identify users,eg: userId or email, default is ''

Returns Promise(base64 string)

saveCurrentDeviceId(id: string, deviceId: string)

This method is used to save the deviceId logged in by the current user, which is distributed by the backend as part of the next device information

  • id: Used to identify users,eg: userId or email
  • deviceId: This device id will be used as part of the second acquisition of device information.
import { saveCurrentDeviceId } from '@binance/fingerprint'

const mockDeviceId = new Date().getTime()

// When the user logs in, mockDeviceId should be distributed by the backend
saveCurrentDeviceId('email or userId', mockDeviceId)

getFpInfo()

Get fingerprint information

const fpInfo = await getFpInfo();

// console.log(fpInfo)
{
  "screen_resolution": "900,1440",
  "available_screen_resolution": "877,1405",
  "system_version": "Mac OS 10.14.5",
  "brand_model": "unknown",
  "system_lang": "en",
  "timezone": "GMT+8",
  "timezoneOffset": -480,
  "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36",
  "list_plugin": "Chrome PDF Plugin,Chrome PDF Viewer,Native Client",
  "canvas_code": "d98c8d8b",
  "webgl_vendor": "Intel Inc.",
  "webgl_renderer": "Intel(R) Iris(TM) Plus Graphics 655",
  "audio": "124.04345808873768",
  "platform": "MacIntel",
  "web_timezone": "Asia/Shanghai",
  "device_name": "Chrome V83.0.4103.116 (Mac OS)",
  "fingerprint": "421ec839eeda07b409a3c51d448bd0a5"
}

License

MIT