manager-center-accounts
v1.1.19
Published
account function @manager-center
Downloads
19
Readme
manager-center-accounts
manager-center-accounts is Express-compatible authentication middleware for Node.js.
manager-center-accounts is to create user and member depended on manager-center framwork.
manager-center-accounts is also to authenticate requests which can authenicate members or users created by your own login or not
Install
npm install manager-center-accounts --save
login to get userAuth
example
var userService = require('manager-center-accounts').user;
var token = "Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJncm91cF9jb2RlIjoidGVzdCIsImdyb3VwX25hbWUiOiLmuKzoqablhazlj7giLCJyZWdpc3RyYXRvciI6IjJaaWxmak5tWjZuY2E2clc1TnNqIiwiaWF0IjoxNjE4MTQ4MDk3LCJleHAiOjE2MjY3ODgwOTcsImF1ZCI6IuS6nueRn-eOiyIsImlzcyI6IkFSVC1MYWIiLCJzdWIiOiJhY2Nlc3MtdG9rZW4ubWFuYWdlci1jZW50ZXIifQ.SGavRCAuPIiRQRjjhUUiktQvtEh-Ey2DkdCyPo_yEHQvxRrq-dypVxpdqGY2Mx2dIWXJ1iO8TyG-20Dfw26dCw"
var user = {
email: 'admin user email',
password: 'admin user password'
}
let main = async () => {
try{
let userAuth = await userService.login(token, user.email, user.password);
console.log('userAuth:', userAuth);
} catch (e) {
console.error(e);
}
}
main();
Create your users with admin user auth
example
var userService = require('manager-center-accounts').user;
var token = "Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJncm91cF9jb2RlIjoidGVzdCIsImdyb3VwX25hbWUiOiLmuKzoqablhazlj7giLCJyZWdpc3RyYXRvciI6IjJaaWxmak5tWjZuY2E2clc1TnNqIiwiaWF0IjoxNjE4MTQ4MDk3LCJleHAiOjE2MjY3ODgwOTcsImF1ZCI6IuS6nueRn-eOiyIsImlzcyI6IkFSVC1MYWIiLCJzdWIiOiJhY2Nlc3MtdG9rZW4ubWFuYWdlci1jZW50ZXIifQ.SGavRCAuPIiRQRjjhUUiktQvtEh-Ey2DkdCyPo_yEHQvxRrq-dypVxpdqGY2Mx2dIWXJ1iO8TyG-20Dfw26dCw"
var user = {
email: 'admin user email',
password: 'admin user password'
}
let main = async () => {
try {
let userAuth = await userService.login(token, user.email, user.password);
console.log('userAuth:', userAuth);
var newUser = {
email: '[email protected]',
name: 'user_tom',
password: '123456',
phone: '0911123456'
}
createUser(userAuth, newUser);
} catch (e) {
console.error(e);
}
}
let createUser = async (userAuth, user) => {
try{
var newUser = await userService.createUserWithAdminUserAuth(token, userAuth, user.email, user.name, user.password, user.phone)
console.log('newUser:', newUser);
} catch (e){
throw e;
}
}
main();
Create your members
member can be created by login process or created by the following way example
var userService = require('manager-center-accounts').user;
var memberService = require('manager-center-accounts').member;
var token = "Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJncm91cF9jb2RlIjoidGVzdCIsImdyb3VwX25hbWUiOiLmuKzoqablhazlj7giLCJyZWdpc3RyYXRvciI6IjJaaWxmak5tWjZuY2E2clc1TnNqIiwiaWF0IjoxNjE4MTQ4MDk3LCJleHAiOjE2MjY3ODgwOTcsImF1ZCI6IuS6nueRn-eOiyIsImlzcyI6IkFSVC1MYWIiLCJzdWIiOiJhY2Nlc3MtdG9rZW4ubWFuYWdlci1jZW50ZXIifQ.SGavRCAuPIiRQRjjhUUiktQvtEh-Ey2DkdCyPo_yEHQvxRrq-dypVxpdqGY2Mx2dIWXJ1iO8TyG-20Dfw26dCw"
var user = {
email: 'admin user email',
password: 'admin user password'
}
let main = async () => {
try {
let userAuth = await userService.login(token, user.email, user.password);
console.log('userAuth:', userAuth);
var member = {
name: 'Tom_3',
email: '[email protected]',
password: '123456',
phone: '0911111111'
}
var newMember = await createMember(userAuth, member);
console.log('newMember:', newMember);
} catch (e) {
console.error(e);
}
}
let createMember = async (userAuth, member) => {
try {
return await memberService.signupWithUserAuth(token, userAuth, member);
} catch (e) {
throw e;
}
}
main();
Usage of authentication middleware
- check and get request group_code
const validator = require('manager-center-accounts').validator;
router.route('/dosomething')
.post([
validator.checkToken
], (req, res, next) => {
var group_code = req.payload.group_code;
console.log('group_code', group_code);
//do what you own
})
- check member login before do something
const validator = require('manager-center-accounts').validator;
router.route('/dosomething')
.post([
validator.checkToken,
validator.checkMember
], (req, res, next) => {
var member = req.member;
console.log('member:',member);
//do what you own
})
- check user before do something
const validator = require('manager-center-accounts').validator;
router.route('/checkUser')
.post([
validator.checkToken,
validator.checkUser
], (req, res, next) => {
var user = req.user;
console.log('user:',user);
//do what you own
})
Get member information
var memberService = require('manager-center-accounts').member;
var member = {
member_suuid: 'XXXXX',
member_accesstoken: 'WWWWWWWWW'
}
let memberInfo = await memberService.getMemberInformation(bearer_token, member.suuid, member.member_accesstoken);
console.log('member information:', memberInfo);
Social login
You can let your member login by social accounts, like fb, line or google in order to login by social account, you have to register each socail platform's id, sceret and setup login information
for example: if your group code is 'test', you can let your memeber login by line as this following url:
https://accounts.manager-center.com/v2/line/login?group_code=test
You have to put group_code attribute. if you don't, the login will redirect to www.yahoo.com