@kernel-js/auth
v1.0.5
Published
...
Downloads
11
Readme
@kernel-js/auth
Install
npm install @kernel-js/auth
Enums
StorageMethods
Exposes the possible ways of storing the data received through native browser drives.
import { StorageMethods } from '@kernel-js/auth';
StorageMethods.LocalStorage
StorageMethods.CookieStorage
StorageMethods.SessionStorage
Classes
OAuthAuthentication
Used for OAuth type password authentication. By default, it uses the model established by Laravel Passport.
new OAuthAuthentication(config);
Arguments
config
- Object with the authentication settings.request
- It waits for an Axios instance and will be used to make the requests.storage - method
- Expect a StorageMethods enum that will tell you how to persist the data.client - id
- OAuth client id.client - scope
- Scope says you want to get (optional).client - secret
- Secret of the client OAuth.
import Axios from 'axios';
import { StorageMethods, OAuthAuthentication } from '@kernel-js/auth';
new OAuthAuthentication({
storage: {
method: StorageMethods.LocalStorage,
},
request: Axios.create({
baseURL: 'http://localhost:8000',
headers: {},
}),
client: {
id: '1',
scope: '',
secret: 'VRoONFr4soNZkoSYXiYZzcx8H5VfJdUt9IYk1l8o',
},
});
Methods
All classes use by default the interface Authentication that defines some common methods, being them.
Login
Method that authenticates the user and returns their access tokens, in addition to the expiration date of the user.
new OAuthAuthentication(config...).login(data, url);
Arguments
data
- Object that holds the user data as the username and password.url (Optional)
- path in which the authentication request will be sent. By default/oauth/token
is used.
import Axios from 'axios';
import { StorageMethods, OAuthAuthentication } from '@kernel-js/auth';
const auth = new OAuthAuthentication(config...);
auth
.login({
'username': '[email protected]',
'password': '123456',
})
.then(response => {
console.log(auth.isAuthenticated());
});
Logout
Clears user authentication data.
new OAuthAuthentication(config...).logout();
import Axios from 'axios';
import { StorageMethods, OAuthAuthentication } from '@kernel-js/auth';
const auth = new OAuthAuthentication(config...);
auth
.logout()
.then(response => {
console.log(auth.isGuest());
});
isGuest
Check if an authenticated user exist.
new OAuthAuthentication(config...).isGuest();
import Axios from 'axios';
import { StorageMethods, OAuthAuthentication } from '@kernel-js/auth';
const auth = new OAuthAuthentication(config...);
console.log(auth.isGuest());
isAuthenticated
Opposite the isGuest method.
new OAuthAuthentication(config...).isAuthenticated();
import Axios from 'axios';
import { StorageMethods, OAuthAuthentication } from '@kernel-js/auth';
const auth = new OAuthAuthentication(config...);
console.log(auth.isAuthenticated());
Authors
This library was developed by Bruno Santos, Carlos Escouto and Gustavo Siqueira
Contribute
Please do! Check out our Contributing guidelines.
License
MIT © 2018-2019 Kernel JS