0.1.7 • Published 4 years ago

stellar-auth-server v0.1.7

Weekly downloads
8
License
MIT
Repository
github
Last release
4 years ago

Stellar Auth server library

Version Build Status Coverage Status David David Try on RunKit

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

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

0.1.7

4 years ago

0.1.6

5 years ago

0.1.5

5 years ago

0.1.4

5 years ago

0.1.3

5 years ago

0.1.1

5 years ago

0.1.0

5 years ago