Download the PHP package equipe-web/laravel-keycloak without Composer
On this page you can find all versions of the php package equipe-web/laravel-keycloak. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download equipe-web/laravel-keycloak
More information about equipe-web/laravel-keycloak
Files in equipe-web/laravel-keycloak
Package laravel-keycloak
Short Description Pacote de integração de projetos Laravel com o sistema KeyCloak de autenticação e autorização
License MIT
Informations about the package laravel-keycloak
TCEMT KEYCLOAK
Instalação
Requerimentos
- PHP 8.0+
- Laravel 9.0+
Instale o componente via comando do composer:
Configuração
Abra o arquivo bootstrap/providers.php
e adicione na lista de providers:
limpe o cache de configurações
Edite o arquivo .env e adicione a configuração básicas para o componente de segurança:
Adicione as configurações do KeyCloak no arquivo config/services.php
:
limpe o cache de configurações novamente
Execute os comandos abaixo:
Utilização
Links para login e logout via Oauth2
O ServiceProvider desta biblioteca automaticamente irá registrar as seguintes rotas para o processo de autenticação:
GET /auth/redirect
: esta rota irá redirecionar a aplicação para a autenticação Oauth2 no servidor KeyCloak.GET /auth/callback
: após validar o login e senha, o usuário será redirecionado para esta rota que finalizará o processo de autenticação e autorização.GET /auth/logout
: efetua o logout do usuário
Diretivas Blade para gerar os links de login/logout
Dentro do template blade você pode utilizar a diretiva @keycloak_login_url($label, $css)
e @keycloak_logout_url($label, $css)
para gerar os links de login e logout respectivamente.
Exemplo:
Se você utilizar a diretiva de logout, o usuário será redirecionado para a tela de logout do KeyCloak e depois será redirecionado para a URL de logout da sua aplicação. Dessa forma, ao efetuar o logout a sessão do usuário será encerrada nas duas aplicações. Caso você queira que o usuário seja desconectado apenas da sua aplicação e mantenha a sessão autenticada no KeyClock (para logar novamente sem precisar redigitar o login/senha) você deve utilizar a rota auth.logout
ao invés da diretiva:
Dentro de um Controller
Utilize o facade Gate
para verificar as permissões dos usuários no controller.
O método Gate::allows($recurso)
se encarrega de fazer a verificação e retorna verdadeiro ou falso.
Uso em templates do Blade
All versions of laravel-keycloak with dependencies
laravel/framework Version ^12.0
firebase/php-jwt Version ^6.10
laravel/socialite Version ^5.16
socialiteproviders/keycloak Version ^5.3