0.0.11 • Published 7 years ago

@scrbbl/scribblelive-toolkit-auth v0.0.11

Weekly downloads
864
License
ISC
Repository
-
Last release
7 years ago

ScribbleLive Toolkit Authentication Module

The ScribbleLive Toolkit Authentication Module allows you to provide anonymous and social login functionality on the front ends. Authentication will be needed to be able to comment on the front end.

Dependencies

If you are using social login, Gigya must be referenced in order for the module to work correctly.

Installing Node and NPM

Install Node and NPM from https://nodejs.org/en/download/

Setup (developers only)

From the project directory run:

npm install

Then to setup the test project:

npm run build-test-project

Now you can open /test-project/dist/index.html in your browser and post some comments!

Using the Commenting module

To create an instance of the commenting module:

import AuthClass from '@scrbbl/scribblelive-toolkit-auth';

const Auth = new AuthClass({
    token: '{your token here}'
});

Anonymous login:

// username variable needs to be a string value
// avatarFile variable needs to be a type of window.File

let anonLoginPromise = Auth.anonLogin(username, avatarFile)
    .then((user) => {
        console.log(user);
    });

To get a list of all the possible social login types:

const socialProviders = Auth.PROVIDERS;

To prompt the user to login with twitter

let socialLoginPromise = Auth
    .socialLogin(Auth.PROVIDERS.twitter)
    .then(
        user => console.log(user),
        err => console.log(err)
    );

User Model

The user that is returned will have the following structure:

{
    id: *int*,
    auth: *string*,
    name: *string*,
    avatar: *string*   
}

Social Providers

The following is what will be returned from Auth.PROVIDERS:

{
  twitter: 'twitter',
  facebook: 'facebook',
  googleplus: 'googleplus',
  yahoo: 'yahoo',
  linkedin: 'linkedin'
}

Methods

AuthClass constructor({ string token, string baseUrl (optional) })

The constructor takes an object containing the API key token and an optional base URL (the default is https://apigateway.scribblelive.com) and returns a new instance of the Authentication Module.

Promise anonLogin({ string username, File avatar (optional) })

Logs in anonymously and allows for a user to upload an avatar.

Promise socialLogin({ Auth.PROVIDERS provider })

Prompts the user to login with a social account.

Object PROVIDERS({ Auth.PROVIDERS provider })

Returns a map of possible social providers to be passed into the socialLogin method

Object getUser()

Returns the current logged in user.

undefined logout()

Clears the current logged in user.