Skip to content

Server side library for Stellar SEP 0010 implementation

License

Notifications You must be signed in to change notification settings

dolcalmi/stellar-auth-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Server side library for Stellar SEP 0010 implementation

Resources

License

Stars

Watchers

Forks

Packages

No packages published