stolfam / keycloak-adapter-php
Keycloak身份验证的易用PHP适配器
2.0.17
2024-05-23 10:57 UTC
Requires
- php: >= 7.2.0
- nette/utils: >= 2.4
Requires (Dev)
- nette/tester: ^2.3
README
安装
composer require ataccama/keycloak-adapter
Neon配置
parameters:
keycloak:
realmId: your_realm
clientDd: your_client_id
host: https://your.keycloak.com
defaultRedirectUri: https://your.default.url
api:
username: your_username
password: your_password
clientId: your_api_client_id
clientSecret: your_client_secret
services:
- Ataccama\Adapters\Keycloak(%keycloak%)
使用
创建新的类并扩展Ataccama\Auth类,然后你必须用你自己的逻辑实现所有缺失的方法。
登录URL: $loginUrl = $yourAuthClass->getLoginUrl()
在代码中使用你的类如下: $yourAuthClass->authorize($_GET['code'])
示例(Nette框架)
// waiting for authorization code from Keycloak
if ($yourAuthClass->authorize($this->getParameter('code'))) {
$this->redirectUrl($yourAuthClass->getRedirectUri());
} else {
if (!$yourAuthClass->isAuthorized()) {
$this->redirectUrl($yourAuthClass->getLoginUrl());
}
}
// check if user is logged in on every page, if not redirect him to Keycloak login page
if (!$yourAuthClass->isAuthorized()) {
$this->redirectUrl($yourAuthClass->getLoginUrl());
}