mirror of
https://github.com/Permissionless-Software-Foundation/bch-dex.git
synced 2026-09-21 16:52:00 -07:00
refactor(auth): Back-ported changes in auth controller
This commit is contained in:
@@ -1,6 +1,12 @@
|
|||||||
const passport = require('koa-passport')
|
const passport = require('koa-passport')
|
||||||
|
|
||||||
/**
|
let _this
|
||||||
|
class Auth {
|
||||||
|
constructor () {
|
||||||
|
_this = this
|
||||||
|
this.passport = passport
|
||||||
|
}
|
||||||
|
/**
|
||||||
* @apiDefine TokenError
|
* @apiDefine TokenError
|
||||||
* @apiError Unauthorized Invalid JWT token
|
* @apiError Unauthorized Invalid JWT token
|
||||||
*
|
*
|
||||||
@@ -12,7 +18,7 @@ const passport = require('koa-passport')
|
|||||||
* }
|
* }
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @api {post} /auth Authenticate user
|
* @api {post} /auth Authenticate user
|
||||||
* @apiName AuthUser
|
* @apiName AuthUser
|
||||||
* @apiGroup Auth
|
* @apiGroup Auth
|
||||||
@@ -48,26 +54,29 @@ const passport = require('koa-passport')
|
|||||||
* "error": "Unauthorized"
|
* "error": "Unauthorized"
|
||||||
* }
|
* }
|
||||||
*/
|
*/
|
||||||
|
async authUser (ctx, next) {
|
||||||
|
try {
|
||||||
|
return _this.passport.authenticate('local', (err, user) => {
|
||||||
|
if (err) throw err
|
||||||
|
|
||||||
async function authUser (ctx, next) {
|
if (!user) {
|
||||||
return passport.authenticate('local', (err, user, info, status) => {
|
ctx.throw(401)
|
||||||
if (err) throw err
|
}
|
||||||
|
|
||||||
if (!user) {
|
const token = user.generateToken()
|
||||||
|
|
||||||
|
const response = user.toJSON()
|
||||||
|
|
||||||
|
delete response.password
|
||||||
|
|
||||||
|
ctx.body = {
|
||||||
|
token,
|
||||||
|
user: response
|
||||||
|
}
|
||||||
|
})(ctx, next)
|
||||||
|
} catch (error) {
|
||||||
ctx.throw(401)
|
ctx.throw(401)
|
||||||
}
|
}
|
||||||
|
}
|
||||||
const token = user.generateToken()
|
|
||||||
|
|
||||||
const response = user.toJSON()
|
|
||||||
|
|
||||||
delete response.password
|
|
||||||
|
|
||||||
ctx.body = {
|
|
||||||
token,
|
|
||||||
user: response
|
|
||||||
}
|
|
||||||
})(ctx, next)
|
|
||||||
}
|
}
|
||||||
|
module.exports = Auth
|
||||||
module.exports.authUser = authUser
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
// import * as auth from './controller'
|
// import * as auth from './controller'
|
||||||
const auth = require('./controller')
|
const CONTROLLER = require('./controller')
|
||||||
|
const controller = new CONTROLLER()
|
||||||
// export const baseUrl = '/auth'
|
// export const baseUrl = '/auth'
|
||||||
module.exports.baseUrl = '/auth'
|
module.exports.baseUrl = '/auth'
|
||||||
|
|
||||||
@@ -9,6 +9,6 @@ module.exports.routes = [
|
|||||||
{
|
{
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
route: '/',
|
route: '/',
|
||||||
handlers: [auth.authUser]
|
handlers: [controller.authUser]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
Reference in New Issue
Block a user