как получить объект через router
мне нужен токен который создается в пост запросе , и я хочу этот токен забрать через роутер в гет запрос , и там его получить и использовать дальше как мне это правильно сделать вот мой post
@request('post', '/auth/register')
@summary('Create new user and send activation code to username')
@body(swaggerRegisterSchema)
@validator(registerSchema)
@tag
static async register(ctx, next) {
const {
request: {
body: {
username, password, email, verified, firstname, lastname, gender, location,
avatar}}} = ctx;
if (!username.match('^[a-zA-Z0-9_.-]{4,}$'))
throw Boom.methodNotAllowed('Validation error. Check Username.');
const usernameExists = await UserService.getUserByUsername(username);
if (usernameExists) throw Boom.badRequest('This username already exists.');
const userData = {
username, email, verified, firstname, lastname, gender, location, avatar,
password: PasswordUtil.saltHashPassword(password)
};
const user = await UserService.createUser(userData);
const token = TokenUtil.generate({userId: user.id});
let api_key = '40655ac93b6dd743fc1ea449415ffdef-2bf328a5-4f9b72c3';
let domain = 'sandboxa3eb9f4674f9451ba94597ee3f8f23ba.mailgun.org';
let mailgun = require('mailgun-js')({apiKey: api_key, domain: domain});
let text = 'http://127.0.0.1:5000' + '/auth/approve-email/' + token;
let data = {
from: '[email protected]',
to: email,
subject: 'podtverdite email ',
text: text
};
console.log(token)
mailgun.messages().send(data, function (error, body) {
})
ctx.status = 201;
ctx.body = {token, user};
await next();
}
вот мой ROUTER import Router from 'koa-router';
import AuthController from './auth.controller';
import { Auth } from '../../middlewares';
const router = new Router({ prefix: '/auth' });
router
.post('/login', AuthController.login)
.post('/register', AuthController.register)
.post('/check_username', AuthController.checkUsername)
.get('/approve-email/:token', AuthController.verifiedTokens)
.get('/me', Auth, AuthController.me);
export default router.routes();
а вот мой GET
@request('get', '/auth/approve-email/{token}')
@path({ token: {type: 'string', required: true, description: 'token'}
})
@summary('Get token')
@tag
static async verifiedTokens( next, ctx) {
console.log(ctx.params.token )
const token = ctx.params.token
console.log(token)
await next();
}