stellar-auth-server
v0.1.7
Published
Server side library for Stellar SEP 0010 implementation
Downloads
21
Readme
Stellar Auth server library
Server side library for Stellar SEP 0010 implementation.
Installation
Install the package with:
npm install stellar-auth-server --save
Usage
Initialization
const StellarAuth = require('stellar-auth-server');
const serverKeyPair = StellarSdk.Keypair.fromSecret('SDL...A2J');
// optional param
const options = {
challengeExpiresIn: 300, // 5 minutes
invalidSequence: '0',
anchorName: 'Anchor server'
}
const stellarAuth = new StellarAuth(serverKeyPair, options);
- serverKeyPair
Server Keypair object.
Required: true - options
Object with optional params .
Required: false- challengeExpiresIn
time in seconds in which the challenge expires.
Default value:300
(5 minutes)
Required: false - invalidSequence
Invalid sequence for stellar transaction.
Default value:'0'
Required: false - anchorName
Default anchor name.
Default value:'Anchor server'
Required: false
- challengeExpiresIn
Challenge
const clientPublicKey = 'GBF...3UZ';
const txBase64 = stellarAuth.challenge(clientPublicKey);
return { transaction: txBase64 };
Verify
stellarAuth.verify(txBase64SignedByClient)
.then(result => { token: buildToken(result.hash, result.clientPublicKey) })
.catch(e => { error: translate(e.message) || e.message })
Development
Run all tests:
$ npm install
$ npm test
Run a single test suite:
$ npm run mocha -- test/lib/challenge.spec.js
Run a single test (case sensitive):
$ npm run mocha -- test/lib/challenge.spec.js --grep 'Should have valid timebounds'
Library based on Stellar SEP-0010 implementation