Skip to content

dmitryshelomanov/koa-boilerplate-typescript

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

koa-boilerplate-typescript

Авторизация по токену

/**
* url /api/token {login, password} вернет токен и юзера если такой есть в бд
* url /api/token\user {token} вернет юзера по токену
* Проверить токен можно в любом месте где есть Koa.Context через метод ctx.request.body.getUser(token)
*/
// пример middleware Auth
exports.init = (ctx: Koa.Context): Promise<any> => { 
  return new Promise(async (res, rej) => { 
    let { getUser, token } = ctx.request.body;
    let user = await getUser(token);
    if (user.length === 0) return res({ status: "unAuthorize", code: 401 });
    ctx.request.body.user = user[0];
    res({status: "ok", code: 200});
  });
}

Политики

/**
* Политики
* can(полика, Koa.Context, ...args) // все политики регистрируются в config/default.js
* cannot(полика, Koa.Context, ...args)
*/
// пример политики
return new Promise((res, rej) => { // всегда верозврощать промис нужно с bool значением
  if (ctx.user) { 
    return res(true);
  }
  return res(false);
});

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published