1.0.0-beta.12 • Published 4 years ago

@minespider/auth-sdk v1.0.0-beta.12

Weekly downloads
1
License
MIT
Repository
-
Last release
4 years ago

Auth SDK

This library connects to Minespider's Account Service in order to:

  • Login (and get the access token needed to sign requests on other services)
  • Refresh (which refreshes the access token)
  • Logout (which deactivates all refresh tokens for the given user)

Usage

How to install

Install the package using yarn or npm:

yarn install @minespider/auth-sdk

Initiate the SDK

const { AuthSDK } = require("@minespider/auth-sdk");

const sdk = new AuthSDK(
  "https://account-service.staging.minespider.com"
)

How to login

const data = await sdk.login(
  "user email",
  "user password"
)

console.log(data)
/*
{
  mnemonic: 'evidence thing glass escape spike ivory brother salmon culture such move muffin',
  token: {
    access_token: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoiMDE2ZDg1ODAtODQ4Yi00ODc4LWFjYmMtOTkwY2QzNzg5YWVmIiwiZW50aXR5X2lkIjoiNmRjMjJmNGQtYTM3Yi00NmI4LTk5NzMtMTY3NTc1NTExMDMzIiwiYWRtaW4iOnRydWUsImFjdGl2ZSI6ZmFsc2UsImVtYWlsIjoiaXQtYWNjb3VudEBtaW5lc3BpZGVyLmNvbSIsImVtYWlsX3ZlcmlmaWVkIjpmYWxzZSwiZmlyc3RfbmFtZSI6Ik5hdGhhbSIsImxhc3RfbmFtZSI6IldpbGxpYW1zIiwiZ2VuZGVyIjoiTWFsZSIsImVuY3J5cHRlZF9tbmVtb25pY19wYXNzd29yZCI6InZNdGZyZXhDOTlrNnVNdVAwTzMyTVhicTQ5K0RSaTl2a05HaDdkQ3pneXVleVhaVXZVRTk1ZkhQcHVBPSIsInJlc2V0X3Bhc3N3b3JkX25leHRfbG9naW4iOmZhbHNlLCJpYXQiOjE1OTg0ODc3MzQsImV4cCI6MTU5ODU4NzczNH0.xHomY40MMWizfCl6zd9enQGjWnZ3-e1FzWPJiMkeEPM',
    access_token_expires_at: 1598587734,
    refresh_token: 'IbNEBw3a2XBXaxzxL/M+jwDq5NOx9s3+ScEodD7sedQ=',
    refresh_token_expires_at: 1598488035
  },
  user: {
    user_id: '016d8580-848b-4878-acbc-990cd3789aef',
    entity_id: '6dc22f4d-a37b-46b8-9973-167575511033',
    admin: true,
    active: false,
    email: 'it-account@minespider.com',
    email_verified: false,
    first_name: 'Natham',
    last_name: 'Williams',
    gender: 'Male',
    encrypted_mnemonic_password: 'vMtfrexC99k6uMuP0O32MXbq49+DRi9vkNGh7dCzgyueyXZUvUE95fHPpuA=',
    reset_password_next_login: false
  }
}
*/

How to refresh an access token

const data = await sdk.refresh(refreshToken)

console.log(data)
/*
{
  token: {
    access_token: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoiMDE2ZDg1ODAtODQ4Yi00ODc4LWFjYmMtOTkwY2QzNzg5YWVmIiwiZW50aXR5X2lkIjoiNmRjMjJmNGQtYTM3Yi00NmI4LTk5NzMtMTY3NTc1NTExMDMzIiwiYWRtaW4iOnRydWUsImFjdGl2ZSI6ZmFsc2UsImVtYWlsIjoiaXQtYWNjb3VudEBtaW5lc3BpZGVyLmNvbSIsImVtYWlsX3ZlcmlmaWVkIjpmYWxzZSwiZmlyc3RfbmFtZSI6Ik5hdGhhbSIsImxhc3RfbmFtZSI6IldpbGxpYW1zIiwiZ2VuZGVyIjoiTWFsZSIsImVuY3J5cHRlZF9tbmVtb25pY19wYXNzd29yZCI6InZNdGZyZXhDOTlrNnVNdVAwTzMyTVhicTQ5K0RSaTl2a05HaDdkQ3pneXVleVhaVXZVRTk1ZkhQcHVBPSIsInJlc2V0X3Bhc3N3b3JkX25leHRfbG9naW4iOmZhbHNlLCJpYXQiOjE1OTg0ODc3MzQsImV4cCI6MTU5ODU4NzczNH0.4FzsF1Cp1eAQzHoZLPaf-L9r1MDXDno8HGL8hieXzmM',
    access_token_expires_at: 1598587734,
    refresh_token: 'D6LnX/aS9g3nigPgXQEeJwRm22xXM8/5t5WMnno7qbs=',
    refresh_token_expires_at: 1598488035
  }
}
*/

How to logout

const data = await sdk.logout(accessToken)

console.log(data)
/*
{
  token: {
    access_token: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoiMDE2ZDg1ODAtODQ4Yi00ODc4LWFjYmMtOTkwY2QzNzg5YWVmIiwiZW50aXR5X2lkIjoiNmRjMjJmNGQtYTM3Yi00NmI4LTk5NzMtMTY3NTc1NTExMDMzIiwiYWRtaW4iOnRydWUsImFjdGl2ZSI6ZmFsc2UsImVtYWlsIjoiaXQtYWNjb3VudEBtaW5lc3BpZGVyLmNvbSIsImVtYWlsX3ZlcmlmaWVkIjpmYWxzZSwiZmlyc3RfbmFtZSI6Ik5hdGhhbSIsImxhc3RfbmFtZSI6IldpbGxpYW1zIiwiZ2VuZGVyIjoiTWFsZSIsImVuY3J5cHRlZF9tbmVtb25pY19wYXNzd29yZCI6InZNdGZyZXhDOTlrNnVNdVAwTzMyTVhicTQ5K0RSaTl2a05HaDdkQ3pneXVleVhaVXZVRTk1ZkhQcHVBPSIsInJlc2V0X3Bhc3N3b3JkX25leHRfbG9naW4iOmZhbHNlLCJpYXQiOjE1OTg0ODc3MzQsImV4cCI6MTU5ODU4NzczNH0.4FzsF1Cp1eAQzHoZLPaf-L9r1MDXDno8HGL8hieXzmM',
    access_token_expires_at: 1598587734,
    refresh_token: 'D6LnX/aS9g3nigPgXQEeJwRm22xXM8/5t5WMnno7qbs=',
    refresh_token_expires_at: 1598488035
  }
}
*/