stellar-auth-client
v2.0.1
Published
Client side library for Stellar SEP 0010 implementation
Downloads
6
Readme
Stellar Auth client library
Client side library for Stellar SEP 0010 implementation.
Quick start
Using npm to include stellar-auth-client in your own project:
npm install --save stellar-auth-client
For browsers,
use Bower to install stellar-auth-client. It
exports a variable StellarAuthClient
. The example below assumes you have
stellar-auth-client.js
relative to your html file.
<script src="https://cdnjs.cloudflare.com/ajax/libs/stellar-sdk/{version}/stellar-sdk.js"></script>
<script src="stellar-auth-client.js"></script>
<script>
console.log(StellarAuthClient);
</script>
Install
To use as a module in a Node.js project
- Install it using npm:
npm install --save stellar-auth-client
- require/import it in your JavaScript:
var StellarAuthClient = require('stellar-auth-client');
To self host for use in the browser
- Install it using bower:
bower install stellar-auth-client
- Include it in the browser:
<script src="https://cdnjs.cloudflare.com/ajax/libs/stellar-sdk/{version}/stellar-sdk.js"></script>
<script src="./bower_components/stellar-auth-client/stellar-auth-client.js"></script>
<script>
console.log(StellarAuthClient);
</script>
Usage
Initialization
const StellarAuthClient = require('stellar-auth-client');
// optional param
const options = {
homeDomain: 'k.tempocrypto.com',
bip32Path: `44'/148'/0'`,
authAccount: null,
authEndpoint: null,
allowHttp: false
}
const auth = new StellarAuthClient('k.tempocrypto.com', options);
- domain
Domain where is the toml file.
Required: false - options
Object with optional params .
Required: false- homeDomain
Default home domain. If value is not set then domain is used.
Default value:domain
Required: false - bip32Path
bip 32 path when you use loginWithLedger.
Default value:'44'/148'/0'
Required: false - authAccount
server public key (toml SIGNING_KEY).
Default value:null
Required: false - authEndpoint
Auth server endpoint (toml WEB_AUTH_ENDPOINT).
Default value:null
Required: false - allowHttp
HTTPS required by default, use this with false for testing.
Default value:false
Required: false
- homeDomain
loginWithSecret
const clientKeyPair = StellarSdk.Keypair.random();
auth
.loginWithSecret(clientKeyPair.secret())
.then(jwtToken => saveJwtToken(jwtToken))
With custom auth account and endpoint
const auth = new StellarAuthClient('yourdomain.com', {
allowHttp: true,
authAccount: 'GAJXKAG...your server public key...HP6PCHA',
authEndpoint: 'http://localhost:3000/auth',
networkPassphrase: 'Test SDF Network ; September 2015'
});
const clientKeyPair = StellarSdk.Keypair.random();
auth
.loginWithSecret(clientKeyPair.secret())
.then(jwtToken => saveJwtToken(jwtToken))
loginWithLedger
auth
.loginWithLedger(/*{ bip32Path: `44'/148'/13'` }*/)
.then(jwtToken => saveJwtToken(jwtToken))
Development
Run all tests:
$ npm install
$ npm test
To run a specific set of tests:
gulp test:node
gulp test:browser
Run a single test suite:
$ npm run mocha -- test/lib/index.spec.js
Run a single test (case sensitive):
$ npm run mocha -- test/lib/index.spec.js --grep 'allowHttp'
Library based on Stellar SEP-0010 implementation