Authenticator SDK¶
KNoT Cloud authenticator service JavaScript library.
Quick Start¶
Install¶
npm install --save @cesarbr/knot-cloud-sdk-js-authenticator
Run¶
KNoTCloudAuthenticator connects to <protocol>://<hostname>:<port>
using email and password as credentials. Replace this address with your
authenticator instance and the credentials with valid ones.
const KNoTCloudAuthenticator = require('@cesarbr/knot-cloud-sdk-js-authenticator');
const client = new KNoTCloudAuthenticator({
  protocol: 'https',
  hostname: 'auth.knot.cloud',
});
async function main() {
  try {
    console.log(await client.authUser('user@provider.com', '123qwe!@#QWE'));
  } catch (err) {
    if (err.response) {
      console.error(err.response.data.message);
      return;
    }
    console.error(err);
  }
}
main();
Methods¶
constructor(options)¶
Create a client object that will connect to a KNoT Cloud protocol authenticator instance.
- Parameters
 
optionsObject JSON object with request details.protocolString (Optional) Either'http'or'https'. Default:'https'.hostnameString KNoT Cloud authenticator instance host name.portNumber (Optional) KNoT Cloud authenticator instance port. Default: 443.pathnameString (Optional) Path name on the server.
- Return
 
A client object that will connect to a KNoT Cloud
- Example
 
const KNoTCloudAuthenticator = require('@cesarbr/knot-cloud-sdk-js-authenticator');
const client = new KNoTCloudAuthenticator({
  protocol: 'https',
  hostname: 'auth.knot.cloud',
});
createUser(email, password)¶
Creates a new user.
- Parameters
 
emailString User email.passwordString User password in plain text. ### Result
- Return
 
userObject JSON object containing user credentials after creation on cloud.
- Example
 
const KNoTCloudAuthenticator = require('@cesarbr/knot-cloud-sdk-js-authenticator');
const client = new KNoTCloudAuthenticator({
  protocol: 'https',
  hostname: 'auth.knot.cloud',
});
async function main() {
  try {
    console.log(await client.createUser('user@provider.com', '123qwe!@#QWE'));
  } catch (err) {
    if (err.response) {
      console.error(err.response.data.message);
      return;
    }
    console.error(err);
  }
}
main();
// { id: '863ad780-efd9-4158-b24a-026de3f1dffb'
//   token: '40ad864d503488eda9b629825876d46cb1356bdf' }
authUser(email, password)¶
Authenticate a user.
- Parameters
 
emailString User email.passwordString User password in plain text. ### Result
- Return
 
userObject JSON object containing user credentials after authentication on cloud.
- Example
 
const KNoTCloudAuthenticator = require('@cesarbr/knot-cloud-sdk-js-authenticator');
const client = new KNoTCloudAuthenticator({
  protocol: 'https',
  hostname: 'auth.knot.cloud',
});
async function main() {
  try {
    console.log(await client.authUser('user@provider.com', '123qwe!@#QWE'));
  } catch (err) {
    if (err.response) {
      console.error(err.response.data.message);
      return;
    }
    console.error(err);
  }
}
main();
// { id: '863ad780-efd9-4158-b24a-026de3f1dffb'
//   token: '40ad864d503488eda9b629825876d46cb1356bdf' }
forgotPassword(email)¶
Tells to cloud that a user forgot its password. The cloud then sends an email with a token to reset the password.
- Parameters
 
emailString User email.
- Example
 
const KNoTCloudAuthenticator = require('@cesarbr/knot-cloud-sdk-js-authenticator');
const client = new KNoTCloudAuthenticator({
  protocol: 'https',
  hostname: 'auth.knot.cloud',
});
async function main() {
  try {
    await client.forgotPassword('user@provider.com');
  } catch (err) {
    if (err.response) {
      console.error(err.response.data.message);
      return;
    }
    console.error(err);
  }
}
main();
resetPassword(email, token, newPassword)¶
Resets a password from a user.
- Parameters
 
emailString User email.tokenString Token sent by email.newPasswordString User password in plain text.
- Example
 
const KNoTCloudAuthenticator = require('@cesarbr/knot-cloud-sdk-js-authenticator');
const client = new KNoTCloudAuthenticator({
  protocol: 'https',
  hostname: 'auth.knot.cloud',
});
async function main() {
  try {
    const token = '54ad864d5034887419b629825876d46cb1356b06';
    const newPassword = 'QWEqwe!@#123';
    await client.resetPassword('user@provider.com', token, newPassword);
  } catch (err) {
    if (err.response) {
      console.error(err.response.data.message);
      return;
    }
    console.error(err);
  }
}
main();