Socket
Socket
Sign inDemoInstall

stellar-auth-client

Package Overview
Dependencies
114
Maintainers
1
Versions
11
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    stellar-auth-client

Client side library for Stellar SEP 0010 implementation


Version published
Maintainers
1
Created

Readme

Source

Stellar Auth client library

Version Build Status Coverage Status David David Try on RunKit

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

  1. Install it using npm:
npm install --save stellar-auth-client
  1. require/import it in your JavaScript:
var StellarAuthClient = require('stellar-auth-client');

To self host for use in the browser

  1. Install it using bower:
bower install stellar-auth-client
  1. 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

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

Keywords

FAQs

Last updated on 25 Jan 2021

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc