@scrbbl/scribblelive-toolkit-auth v0.0.11
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.