1.1.0 • Published 2 years ago
quickey-web-sdk v1.1.0
QuickeySDK - Web
A Login Management System for Application
Getting Started
npm i quickey-web-sdk
How to use
const { QuickeySDK } = require('quickey-web-sdk')
const quickey = new QuickeySDK('apiKey')
//provider : 'googleLogin' | 'facebookLogin' | 'linkedInLogin'
//type : 'socialLogin' | 'otpLogin'
social login notes (quick start):
1. Get URL Login
2. Set window.href = YOUR URL Login
Get App Metadata
quickey.app.getMetaData()
.then(app => {
/**
* example app output
*
* {
appId: 'your app id',
userEmail: 'your app email',
appName: 'your app name',
redirectUri: 'your app redirect uri callback',
redirectUrlApp: 'your app redirect login'
}
*
*/
})
.catch(err => {
console.log(err);
})
Get App Metadata > Get Social Login Data
quickey.app.getMetaData()
.then(app => {
/**
* example app output
*
* {
appId: 'your app id',
userEmail: 'your app email',
appName: 'your app name',
redirectUri: 'your app redirect uri callback',
redirectUrlApp: 'your app redirect login'
}
*
*/
return quickey.provider.getData({
appId:app.appId,
type: 'your login type',
/**
'socialLogin' | 'otpLogin'
*/
provider: 'your provider'
/**
with socialLogin
'googleLogin' | 'facebookLogin' | 'linkedInLogin'
with otp login
'smsOTP' | 'waOTP'
*/
})
})
.then(provider => {
/**
* example provider output
*
* {
_id: 'your provider id',
appId: 'your provider app id',
email: 'your provider email',
clientId: 'your provider client ID',
clientSecret: 'your provider client Secret',
name: 'your provider app name',
category: 'your provider category',
status: 'your provider status',
dataToken: 'your provider (facebook) data token' *if exist
}
*
*/
})
.catch(err => {
console.log(err);
})
Get URL Social Login
quickey.provider.getURlLogin({
provider: 'your social login provider',
/**
if you using fb login to your app, you have to add this field input
*/
/**
as app owner/user
fbToken: 'your facebook shortLiveToken',
*/
/**
as app customer
role: 'customer',
fbToken: 'yor facebook longLiveToken saved from app owner/user',
fbID: "FB ID taken from our browser cache",
fbEmail: 'FB EMAIL taken from our browser cache'
*/
})
.then(result => {
/**
* result is your URL login link redirect to quickey app
* next step you can use window.open or window.location.href or etc
*/
console.log(result);
})
.catch(err => {
console.log(err);
})
Get Access token via social login
quickey.auth.getAccessToken({
email: 'your email login',
provider: 'your social login app provider'
})
.then(result => {
/**
* result is access token taken from quickey that willl be sent to app's client side
*/
console.log(result);
})
.catch(err => {
console.log(err);
})
Get Access token via otp login
quickey.auth.getAccessToken({
phone: 'your phone number login',
provider: 'your otp login app provider',
otpCode: 'your OTP code login'
})
.then(result => {
/**
* result is access token taken from quickey that willl be sent to app's client side
*/
console.log(result);
})
.catch(err => {
console.log(err);
})
Get OTP Code via sms OTP login
quickey.app.sendSMSOTP({
phone: 'your phone number',
provider: 'your otp provider'
})
.then(result => {
/**
* result is one time password number taken from quickey that willl be sent to app's client side
*/
console.log(result);
})
.catch(err => {
console.log(err);
})
link Phone Number to Email
return quickey.auth.linkPhoneToEmail({
phone: 'your phone number',
provider: 'your access token'
})
.then(result => {
/**
* result is customer data which include email and/or phone with its social/otp apps listed
*/
console.log(result);
})
.catch(err => {
console.log(err);
})
Set Error SDK
const { QuickeySDKError } = require('quickey-web-sdk')
const apiError = QuickeySDKError.createApiKeyError()
const emailError = QuickeySDKError.createEmailError()