0.1.0 • Published 5 years ago
0xauth v0.1.0
0xauth-js
A javascript library for the 0xAuth protocol
ALPHA DEVELOPMENT, NOT READY YET FOR REAL WORLD USES
Implementation of the 0xAuth protocol
Install
Server sidee:
npm i --save 0xauthClient side:
npm i 0xauth
cp node_modules/0xauth/dist/0xauth.js your/dest/folder/.Usage
Server side:
const 0xauth = require('0xauth')
const Auth = 0xauth.Auth
const authToken = new 0xauth.AuthToken({...})
...Client side:
var client = new 0xauth.client()
client.init('trx', tronWeb)
// and/or
client.init('eth', web3)
...Server API
Auth.getAuthorizationToken(params)
Params:
issuer The RDNS of the app/service issuing the token
expireAt (optional) The Linux timestamp at expiration
extraParams Extra-parametes related with the appFor testing purposes, you can also pass:
createdAt The Linux timestamp of creation
randomString A 4 chars base64 stringwhile in a normal case those two values are generated.
Example:
const aWeekFromNow = Math.floor((Date.now() + 7 * 24 * 3600 * 1000) / 1000)
Auth.getAuthorizationToken({
issuer: 'com.example.auth',
expireAt: aWeekFromNow,
extraParams: 'uid/233,active'
})That would return something like:
0xAuth:1;com.example.auth;1559439788:1560044588;e3Jg;uid/233,active;deAuth.signAndReturnToken(authTokenString, chain, privateKey, format = 'ps')
authTokenString is the auth token to be signed in string format
chain is the abbreviation of one of the supported blockchains, for example eth or trx
privateKey is the private key to be used for the signature
format is the signature format (more info at 0xAuth protocol)
Auth.verifySignedToken(signedTokenString)
signedTokenString is a signed token containing all the info necessary for the verification.
History
0.1.0
- updating Web3 and Tronweb
0.0.6
- first complete version
Credits
License
Copyright (c) 2019 Francesco Sullo francesco@sullo.co