0.0.1 • Published 4 years ago

pkg-generic-functions v0.0.1

Weekly downloads
-
License
ISC
Repository
bitbucket
Last release
4 years ago

fiergs-auth-bff-modeulo adiciona segurança padrão da FIERGS ao BFF

Este modulo disponibiliza as rotas para autenticar o usuário no BFF e faz todo o gerenciamento de tokens do bff, também disponibiliza configurações de swagger para ser acoplado a um swagger ja existente.

Configurações

Esse pacote trabalha com garantia de que existira no header 'token' e um 'refresh_token', para cada requisição ele ira utilizar esses dados que existem no header e ira atualiza-los casso necessário (token expirado). O 'refresh_token' deve sempre estar presente no header para possibilitar que um novo token seja requisitado caso o mesmo esteja expirado.

Para utilizar o token no seu BFF basta pegar ele do header.

Funções e Utilização

Para utilizar as configurações de swagger, serão utilizadas as seguintes funções:

authSwaggerApi
authSecurityDefinitions

authSwaggerApi

O 'authSwaggerApi' adiciona os propriedades de UI ao swagger e deve ser adicionado junto ás outras apis, exemplo:

apis: [authSwaggerApi,
    'outra.api.js']

authSecurityDefinitions

O 'authSecurityDefinitions' adiciona as definições de segurança que serão utilizadas pelas rotas, permitindo ao swagger fazer o gerenciamento de tokens, este retorna o conteúdo da propriedade 'securityDefinitions' presente no objeto 'swaggerDefinition', exemplo:

swaggerDefinition: {
    ...
    securityDefinitions: authSecurityDefinitions,
    ...
},

control

O modulo 'control' possui as funções para serem utilizadas nas rotas control.postLogin control.getLogout

Exemplo: const seguranca = require('fiergs-auth-bff-module') let router = require('express').Router()

//Rotas autenticação
router.post('/login', seguranca.control.postLogin)
router.get('/logout', seguranca.control.getLogout)

module.exports = router

authRota

Por fim, a função 'authRota' é utilizada para verificar se requisições tem acutização para utilizar o endpoint

router.get('/empresa', seguranca.authRota, empresaController.getEmpresa)
0.0.3

4 years ago

0.0.2

4 years ago

0.0.1

4 years ago