1.0.6 • Published 5 years ago
@keyro/kl-sdk v1.0.6
Keyro Login SDK
Keyro Login SDK provides access to every KL public features out of the box.
Install
yarn add '@keyro/kl-sdk'
Missing anything ?
We are still on a freshy-alpha release. As a keyro team member, if you need something lemme know
Usage
import KLSDK from '@keyro/kl-sdk'
/**
* Create an instance of the SDK and customize it with the following. Default configuration is hard-coded and
* rely on the definition of `production` option. Overriding both keyroLoginUrl and accessManagerUrl makes
* `production` value negligible.
* * `production` : use it to change default configuration.
* * `keyroLoginUrl` : override the default url
* * `accessManagerUrl` : override the default url
*/
const KL = KLSDK({
production: true, // Default: false
keyroLoginUrl: 'https://login-dev.keyro.fr',
accessManagerUrl: 'https://api.login.keyro.fr'
})
/**
* Takes you to the login page depending on your instance config.
* @param {String} origin Url you want to be redirected after login
*/
KL.signin(`${window.location.origin}/auth/callback`)
/**
* Takes you to the signout page depending on your instance config.
* @param {String} origin Url you want to be redirected after login
*/
KL.signout(`${window.location.origin}/byebye`)
/**
* Authentication expire after one hour. 15 minutes before expiration,
* `needRefresh` will encourage a refresh.
*
* Determine if you need to refresh your tokens
* @returns {Boolean}
*/
KL.needRefresh(store.session)
/**
* After a successful signin, Keyro Login will redirect to the origin
* you provide in `signin` method with a bunch of url encoded params.
* Using function `signinCallback` allow you to turn it into a proper session entity.
*
* Take a queryParams object and format it into a session entity
* @returns {Object} Session
*/
KL.signinCallback(this.$route.query)
/**
* Invalidate all tokens of your session causing your device to
* disconnet from all Keyro apps.
* @param {Object} session A session entity
*/
KL.globalSignout(store.session)
/**
* Entrust your session to be valid against the OAUTH Authorization Provider
* Of Keyro Login.
* @param {Object} session A session entity
* @returns {Boolean}
*/
KL.isSessionValid(store.session)
/**
* While your refresh token hasn't expired, you can call this method to get a new
* AccessToken and a new IdentityToken.
*
* Provide an updated Session entity with a new Access and identity tokens.
* @param {Object} session a Session entity
* @returns {Object} Session Entity
*/
KL.refreshSession(session)
/**
* A good way to ensure control over your credentials data is to entrust them as a Session entity.
* @param {Object} data representing Session entity
* @returns {Object} Session Entity
*/
KL.makeSession(data)
The session entity
To be a valid session entity a JSON structure must be of the following structure :
{
"identityToken": "(Mandatory) string",
"accessToken": "(Mandatory) string",
"refreshToken": "(Mandatory) string",
"expiresIn": "(At least one) seconds integer",
"expiresAt": "(At least one) date string"
}
If you pass an expiresIn
value, kl-sdk will parse it as an expiredAt
for you.
1.0.6
5 years ago
1.0.5
6 years ago
1.0.4
6 years ago
1.0.3
6 years ago
1.0.2
6 years ago
1.0.1
6 years ago
1.0.0
6 years ago
0.2.10
6 years ago
0.2.9
6 years ago
0.2.8
6 years ago
0.2.7
6 years ago
0.2.6
6 years ago
0.2.5
6 years ago
0.2.4
6 years ago
0.2.3
6 years ago
0.2.2
6 years ago
0.2.1
6 years ago
0.2.0
6 years ago
0.1.2
6 years ago
0.1.1
6 years ago
0.1.0
6 years ago
0.0.14
6 years ago