GitXplorerGitXplorer
p

web3-cardano-token

public
28 stars
15 forks
5 issues

Commits

List of commits on branch main.
Unverified
221ef073a2aa41b104ab1558b333b13fd80f5071

Update new version

ppyropy committed 3 years ago
Verified
dae0c5bd7301647ff3c80df5ff8d7c890a07d2fd

Merge pull request #3 from Adanize/main

ppyropy committed 3 years ago
Verified
d18b052d16dd9a150c269356ce996b02fe5660dc

Nami Wallet with CIP-0030 returns an object

ggerciljunio committed 3 years ago
Unverified
eab95da524705797f166abf52c9ebb0e08f248ec

Remove static files

ppyropy committed 3 years ago
Unverified
32bec7333308579a0d0a3670d8b5a1ae4a409d0d

Edit publish step

ppyropy committed 3 years ago
Unverified
30d607e23d11cdbec258a2a3c58b72c55dc711b7

Update webpack config and README

ppyropy committed 3 years ago

README

The README file for this repository.

Web3 Cardano Token

Web3 Cardano Token is a new way to authenticate users. A replacement for JWT in hybrid dApps.

Install

$ npm i web3-cardano-token

Example usage (Client side)

Using Nami Wallet extension:

import Web3Token from 'web3-cardano-token/dist/browser';

// Connection to Nami wallet
const cardano = window.cardano;
await cardano.nami.enable();

// getting address from which we will sign message
const address = (await cardano.getUsedAddresses())[0];

// generating a token with 1 day of expiration time
const token = await Web3Token.sign(msg => cardano.signData(your_address, toHex(msg)), '1d');

// attaching token to authorization header ... for example

Example usage (Server side)

const Web3Token = require('web3-cardano-token/dist/node');

// getting token from authorization header ... for example
const token = req.headers['Authorization']

const { address, body } = await Web3Token.verify(token);

// now you can find that user by his address
// (better to do it case insensitive)
req.user = await User.findOne({ address });

API

Argument Name Description Required Example
1 signer A function that returns a promise with signature string eg: await namiWallet.signData(address, data) required (body) => await namiWallet.signData(addr1e2..0c, body)
2 expire_in A string that represents a time span (see ms module) or a number of milliseconds optional (default: 1d) 1 day
3 body An object that will be appended to a signature's body. Can only contain string values. Can be used for some custom data. optional { 'Custom-data': 'some custom data' }

License

Web3 Cardano Token is released under the MIT license. © 2021 Srdjan Stankovic

Note:

This package is based upon web3-token package and uses the same API.