@happysanta/nodejs-sign-checker
TypeScript icon, indicating that this package has built-in type declarations

3.0.0 • Public • Published

Проверка подписи параметов запуска

middleware для adonis

'use strict'
/** @typedef {import('@adonisjs/framework/src/Request')} Request */
/** @typedef {import('@adonisjs/framework/src/Response')} Response */
/** @typedef {import('@adonisjs/framework/src/View')} View */

const Config = use("Config")
const {getStartParamsFromUrl,createStartParamsFromUrl} = require("@happysanta/nodejs-sign-checker")

class CheckStartParams {
  /**
   * @param {object} ctx
   * @param {Request} ctx.request
   * @param {Function} next
   */
  async handle({request, response}, next) {
    const sign = (request.header('X-Vk-Sign')||"").toString()
    const startParams = getStartParamsFromUrl(sign, Config.get("app.appSecret"))
    if (startParams) {
      request.startParams = startParams
      await next()
    } else {
      if (process.env.NODE_ENV !== 'production' && Config.get('app.skipSignCheck')) {
        request.startParams = createStartParamsFromUrl(sign)
        await next()
      } else {
        response.status(403).json({error: {code: 403, message: "No auth header or broken"}})
      }
    }
  }
}

module.exports = CheckStartParams

Readme

Keywords

none

Package Sidebar

Install

npm i @happysanta/nodejs-sign-checker

Weekly Downloads

90

Version

3.0.0

License

MIT

Unpacked Size

59.7 kB

Total Files

18

Last publish

Collaborators

  • stels-cs
  • kachemirova
  • captaintea