GovBr-Oauth
Módulo de autenticação no GovBr para Node-Js
Como funciona
Este módulo implementa o processo de autenticação fornecido pelo Gov.Br conforme o manual: https://manual-roteiro-integracao-login-unico.servicos.gov.br/pt/stable/index.html
Instalação
Execute o comando para a instalação do módulo
npm i govbr-oauth --save
Funções
authorize()
Esta função gera a url de autenticação para o login do usuário
const govbrOauth = ; // Paramentos de configuração fornecidos pelo GOV.BRconst config = URL_PROVIDER: "https://sso.staging.acesso.gov.br" // URL para autenticação URL_SERVICE: "https://api.staging.acesso.gov.br" // URL dos serviços REDIRECT_URI: "http://localhost:3000/callback" // URL de retorno depois de autenticar SCOPES: "openid+email+phone+profile" // Escopos autorizados CLIENT_ID: "xxx" // ID do cliente fornecido pelo GOV.BR SECRET: "xxx" // Chave secreta fornecida pelo GOV.BR; const url = govbrOauth
getToken()
Esta função obtem o access_token para as próximas autenticações
const govbrOauth = ; // Paramentos de configuração fornecidos pelo GOV.BRconst config = URL_PROVIDER: "https://sso.staging.acesso.gov.br" // URL para autenticação URL_SERVICE: "https://api.staging.acesso.gov.br" // URL dos serviços REDIRECT_URI: "http://localhost:3000/callback" // URL de retorno depois de autenticar SCOPES: "openid+email+phone+profile" // Escopos autorizados CLIENT_ID: "xxx" // ID do cliente fornecido pelo GOV.BR SECRET: "xxx" // Chave secreta fornecida pelo GOV.BR; const code = "xxx"; // Chave retornada no parametro 'code' da url de autorização const token = await govbrOauth;
getCredentialType()
Esta função retorna o tipo de selo do usuário
const govbrOauth = ; // Paramentos de configuração fornecidos pelo GOV.BRconst config = URL_PROVIDER: "https://sso.staging.acesso.gov.br" // URL para autenticação URL_SERVICE: "https://api.staging.acesso.gov.br" // URL dos serviços REDIRECT_URI: "http://localhost:3000/callback" // URL de retorno depois de autenticar SCOPES: "openid+email+phone+profile" // Escopos autorizados CLIENT_ID: "xxx" // ID do cliente fornecido pelo GOV.BR SECRET: "xxx" // Chave secreta fornecida pelo GOV.BR; const token = {}; // Objeto retornado da função getToken()const access_token = tokenaccess_level const token = await govbrOauth;
Exemplos
Exemplo de uso em express:
const express = ;const govbrOauth = ; const app = ;const port = 3000; // Paramentos de configuração fornecidos pelo GOV.BRconst config = URL_PROVIDER: "https://sso.staging.acesso.gov.br" // URL para autenticação URL_SERVICE: "https://api.staging.acesso.gov.br" // URL dos serviços REDIRECT_URI: "http://localhost:3000/callback" // URL de retorno depois de autenticar SCOPES: "openid+email+phone+profile" // Escopos autorizados CLIENT_ID: "xxx" // ID do cliente fornecido pelo GOV.BR SECRET: "xxx" // Chave secreta fornecida pelo GOV.BR; app; app; app;
Desenvolvedor
- Clone este repositório
- run
npm install
- run
node samples/express.js
O seriviço irá rodar na porta configurado em express.js
TODO
- Verificar a validação via banco
- Obter a imagem do usuário logado
- Obter dados do CNPJ
MIT Licensed