Download the PHP package salexcarvalho/govbr-auth without Composer
On this page you can find all versions of the php package salexcarvalho/govbr-auth. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download salexcarvalho/govbr-auth
More information about salexcarvalho/govbr-auth
Files in salexcarvalho/govbr-auth
Package govbr-auth
Short Description Pacote Laravel para autenticação Gov.br (OIDC)
License MIT
Informations about the package govbr-auth
GovBR Auth
Pacote Laravel para autenticação com o Gov.br via protocolo OpenID Connect (OIDC). Integre o login unificado do governo federal brasileiro em qualquer aplicação Laravel em minutos.
Sumário
- Requisitos
- Instalação
- Configuração
- Rotas disponíveis
- Protegendo rotas
- Modelo de usuário personalizado
- Tratamento de erros
- Fluxo de autenticação
- Testes
- Contribuição
- Changelog
- Licença
📦 Requisitos
| Dependência | Versão mínima |
|---|---|
| PHP | 7.4 |
| Laravel | 8.x, 9.x, 10.x, 11.x ou 12.x |
| Extensão OpenSSL | qualquer |
| GuzzleHTTP | ^7.0 |
| firebase/php-jwt | ^6.0 |
🚀 Instalação
Publique o arquivo de configuração:
🔧 Configuração
Defina as variáveis no seu .env:
Staging (homologação): substitua
sso.acesso.gov.brporsso.staging.acesso.gov.br.
Para obter credenciais, acesse o Portal do Desenvolvedor Gov.br.
🚧 Rotas disponíveis
O pacote registra automaticamente as seguintes rotas:
| Método | URI | Nome | Descrição |
|---|---|---|---|
GET |
/auth/govbr/redirect |
govbr.login |
Redireciona o usuário para o portal Gov.br |
GET |
/auth/govbr/callback |
govbr.callback |
Recebe o código de autorização e autentica |
POST |
/auth/govbr/logout |
govbr.logout |
Encerra a sessão Gov.br |
Inicie o login com:
🛡️ Protegendo rotas
Use o middleware govbr.auth para restringir acesso a usuários autenticados via Gov.br:
👤 Modelo de usuário personalizado
Por padrão, o pacote usa o modelo definido em auth.providers.users.model. Para sobrescrever, defina em config/govbr.php (ou via .env):
O modelo deve ter uma coluna govbr_sub (chave do usuário no Gov.br) e aceitar name e email como atributos preenchíveis:
⚠️ Tratamento de erros
O pacote lança GovBrAuthException em situações de erro. Registre um handler no seu app/Exceptions/Handler.php para apresentar uma resposta amigável ao usuário:
Situações que disparam a exceção:
| Situação | Mensagem |
|---|---|
| Recusa de autorização pelo usuário | Erro de autorização Gov.br: access_denied |
Parâmetro state inválido (CSRF) |
Parâmetro state inválido. |
| Código de autorização ausente | Código de autorização não recebido. |
| Falha de rede no endpoint de token | Falha ao comunicar com o endpoint de token do Gov.br |
id_token ausente na resposta |
Resposta do token inválida: id_token ausente. |
| JWT inválido ou expirado | Falha na validação do id_token |
🔄 Fluxo de autenticação
🧪 Testes
Para gerar relatório de cobertura:
🤝 Contribuição
Contribuições são bem-vindas! Por favor, leia o CONTRIBUTING.md antes de abrir um Pull Request.
- Faça um fork do repositório
- Crie sua branch:
git checkout -b feature/minha-feature - Commit:
git commit -m 'feat: adiciona minha feature' - Push:
git push origin feature/minha-feature - Abra um Pull Request
📋 Changelog
Veja o CHANGELOG.md para o histórico de mudanças.
📝 Licença
MIT — veja o arquivo LICENSE para mais detalhes.
All versions of govbr-auth with dependencies
illuminate/support Version ^8.0|^9.0|^10.0|^11.0|^12.0
guzzlehttp/guzzle Version ^7.0
firebase/php-jwt Version ^6.0