Além do provider OAuth2 para Gov.br, disponibilizamos um servidor para você testar a integração em um ambiente de homologação. É muito importante que você conheça o Roteiro de Integração do Login Único do Gov.br, tenha preenchido o formulário e já tenha recebido as configurações referentes a sua aplicação.
Você vai precisar de:
- Ambiente Linux (com super usuário);
- Docker instalado;
- Composer v2 instalado.
Então vamos começar! São apenas 6 passos simples.
Baixe o projeto usando o Composer e subtituindo [nova-pasta]
pelo nome do seu projeto.
$ composer create-project brenoroosevelt/oauth2-govbr [nova-pasta]
Entre na pasta
$ cd [nova-pasta]
Precisamos redirecionar o dominio da sua aplicação para localhost
. Portanto, inclua a seguinte linha em seu arquivo /etc/hosts
:
127.0.1.1 seu-app-dominio.com.br
O Container vai construir um servidor usando portas 80
e 443
, por isso, antes de executar desative qualquer serviço escutando essas portas (por exemplo: seu servidor web local), e depois:
$ docker-compose up -d
Para inspecionar o log do container, execute o seguinte comando:
$ docker ps
Encontre o ID do container e depois execute:
$ docker logs <container_id> --follow
Você precisa alterar as seguitens configurações no arquivo run-example.php disponível na raiz do projeto:
clientId
: identificador da sua aplicação no Gov.brclientSecret
: senha fornecida pelo Gov.brredirectUri
: uma das urls de redirecionamento de login cadastrada no Gov.br para esta aplicaçãoredirectUriLogout
: uma das urls de redirecionamento de logout cadastrada no Gov.br para esta aplicação
Abra no browser a sua aplicação https://seu-app-dominio.com.br/
.
Ao final, você terá um container docker rodando com Apache e PHP 8.0.
Isso deve funcionar porque este domínio foi redirecionado para localhost
(no passo 2) e o container docker irá responder às solicitações.
Não se preocupe com o roteamento dentro desse servidor, para facilitar, qualquer caminho (rota) no servidor irá executar o arquivo run-example.php
.
Se tudo estiver certo, após executar o último passo, você será direcionado ao site do Gov.br se autenticar, em seguida será redirecionado de volta para sua aplicação com os dados do usuário. Esse fluxo pode ser verificado no arquivo AuthorizationCodeFlow.php. Você deverá ver na tela um JSON com os dados do usuário autenticado.