@arquivei/jwt-authorization

Este projeto provê meios para consumo da autorização JWT da Arquivei

Usage no npm install needed!

<script type="module">
  import arquiveiJwtAuthorization from 'https://cdn.skypack.dev/@arquivei/jwt-authorization';
</script>

README

NodeJS JWT Authorization

Este projeto provê meios para consumo da autorização JWT da Arquivei

Instalação:

Para detalhes sobre ambiente de desenvolvimento, clique aqui.

npm install @arquivei/jwt-authorization -S
yarn add @arquivei/jwt-authorization

Middlewares

Express

import jwtMiddleware from '@arquivei/jwt-authorization/express'; 
// ...
app.use(jwtMiddleware(options));

// recuperando info do usuário autorizado
const handler = (req, res) => {
  const { account_id } = res.locals.user
}

Koa

import jwtMiddleware from '@arquivei/jwt-authorization/koa'; 
// ...
app.use(jwtMiddleware(options));

// recuperando info do usuário autorizado
const handler = (context) => {
  const { account_id } = context.state.user
}

Socket.io

import jwtMiddleware from '@arquivei/jwt-authorization/socketio'; 
// ...
io.use(jwtMiddleware(options));

// recuperando info do usuário autorizado
io.use((socket) => {
  const { account_id } = socket.data.user;
});

Opções

{
  secret: {
    // caminho da sua chave publica
    path: `${path.resolve(__dirname)}/public.key`, // default
  },
  // opções opcional, preconfigurado com 
  jwt: { // este objeto segue a api de opções do https://github.com/auth0/node-jsonwebtoken#readme
    algorithms: ['RS256'], // default
  },
  strategies: { // se necessário sobrescrever funcionamento  
    loadSecret, // sobrescrever o processo de carregar o `secret` 
    userFactory, // sobrescrever a criação do usuário
  },
  logger: console // sobrescrever com o logger da sua applicação
}

Ambiente de Desenvolvimento

É necessário realizar a configuração de acesso ao registro de pacotes NPM para que sejam instaladas nossas dependências privadas. Com o NPM devidamente configurado, basta executarmos o comando yarn na raíz do diretório.