Library for monitoring and preventing account sharing in web apps.
npm install ruptThis Quick start guide will walk you through the steps to integrate Rupt into your app or website using JavaScript. By the end of this guide, you will have a fully working account-sharing detection mechanism integrated into your website.
``sh`
yarn add rupt
or if using npm
`sh`
npm install --save rupt
`js`
import Rupt from "rupt";
_Note_ the common js version can be found in rupt/common.cjs
The two main things you need to do are:
1. Attach devices to accounts. Ideally, you should do this on every page once.
2. Detach devices from accounts. You should do this when the user logs out.
Doing these two things will allow Rupt to associate devices with accounts and detect behaviors that indicate account sharing. For more on this, see How account sharing prevention works?
First import the script (only if you installed using a package manager)
`js`
import Rupt from "rupt";
Call the attach function to link the device to the account. You must pass the client_id and a account.
`jsclient_id
const { device_id } = await Rupt.attach({
client_id: ,account_id
account: ,`
redirect_urls: {
logout_url: "https://your-logout-url.com",
new_account_url: "https://your-create-new-account-url.com",
},
});
Ideally, you should call the attach function on every page as soon as you have the account id available. For more on this refer to the advanced section: When and where to call the attach function?
When using the Rupt API, you need to pass signals to the API to identify the device. To get the signals, call the getSignals function like so:
`js`
await Rupt.getSignals();
To fingerprint a device, call the fingerprint function like so:
`jsclient_id
await Rupt.fingerprint({
client_id: ,`
});
This will return a fingerprint ID. For more on this, see Fingerprint a device.
To get the fingerprint hash, call the getHash function like so:
`js``
const [hash, last_hash] = await Rupt.getHash();
This will return an array with the first element being the current fingerprint hash and the second element being the last fingerprint hash.
That's it. To learn more, visit the documentation