brenoroosevelt/oauth2-govbr
最新稳定版本:1.0.2
Composer 安装命令:
composer require brenoroosevelt/oauth2-govbr
包简介
Cliente OAuth2 para Gov.br
关键字:
README 文档
README
Este pacote fornece suporte OAuth 2.0 para Gov.br usando a biblioteca cliente do League PHP.
Requisitos
Versões suportadas do PHP:
- PHP 8.2
- PHP 8.1
- PHP 8.0
- PHP 7.4
- PHP 7.3
- PHP 7.2
- PHP 7.1
Instalação
Via composer:
composer require brenoroosevelt/oauth2-govbr
Exemplos de Uso
Criando uma instância do provider para GovBr em ambiente de produção:
use BrenoRoosevelt\OAuth2\Client\GovBr; $govBr = new GovBr([ 'clientId' => 'XXXXXXXX', // Client ID fornecido pelo GovBr 'clientSecret' => 'YYYYYYYY', // Senha fornecida pelo provedor GovBr 'redirectUri' => "https://seu-app-dominio.com.br/seu-login", // Url de redirecionamento 'redirectUriLogout' => "https://seu-app-dominio.com.br/seu-logout" ]);
Atenção! Os parâmetros clientId e clientSecret acima são sigilosos, evite enviar esses valores para seu repositório git; prefira obtê-los usando getenv(...).
Obtendo a url de autorização:
$urlAutorizacao = $govBr->getAuthorizationUrl(); $state = $this->govBr->getState(); // redirecionar o usuário para a url
Obtendo o token de acesso (Access Token):
$authorizationCode = $_GET['code']; $accessToken = $govBr->getAccessToken( new AuthorizationCode(), ['code' => $authorizationCode] );
Obtendo mais informações do usuário:
$govBrUser = $govBr->getResourceOwner($accessToken); $govBrUser->getName(); $govBrUser->getCpf(); $govBrUser->getAvatarUrl(); $govBrUser->getProfile(); $govBrUser->getPhoneNumber(); $govBrUser->phoneNumberVerified(); $govBrUser->getEmail(); $govBrUser->emailVerified(); // Obtendo o avatar do usuário $avatar = $govBr->getAvatar($govBrUser); if ($avatar !== null) { $avatar->image(); $avatar->imageBase64(); $avatar->mimeType(); $avatar->toHtml(['width' => 60]); }
Obtendo a url de logout:
$urlLogout = $govBr->getLogoutUrl(); // redirecionar
Ambiente de Homologação
Por padrão, o ambiente será de produção, mas você pode escolher o ambiente de homologação (staging) solicitando uma instância da seguinte forma:
<?php $govBr = GovBr::staging([ 'clientId' => 'XXXXXXXX', // Client ID fornecido pelo GovBr 'clientSecret' => 'YYYYYYYY', // Senha fornecida pelo provedor GovBr 'redirectUri' => "https://seu-app-dominio.com.br/seu-login", // Url de redirecionamento 'redirectUriLogout' => "https://seu-app-dominio.com.br/seu-logout" ]);
Além do provider para Gov.br, junto com este pacote fornecemos um exemplo para o fluxo Authorization Code aqui. Diponibilizamos também um servidor (containar docker) para que você possar executar esse fluxo em um ambiente de homolocação usando suas configuraçoes. Para isso, basta seguir as instruções desse ROTEIRO.
Contribuindo
Para contribuir com esse projeto, por favor veja nossas diretrizes.
Segurança
Se você descobrir qualquer problema relacionado à segurança, envie um e-mail em vez de abrir uma issue.
Licença
Este projeto está licenciado sob os termos da licença MIT. Consulte o arquivo LICENSE para entender os direitos e limitações.
统计信息
- 总下载量: 10.39k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 20
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2021-07-16