srlopes / laravel-keycloak-admin
此包支持Keycloak管理员客户端API,可以通过用户名和密码或使用安全密钥(client_secret)进行认证
0.1.2
2020-10-23 20:08 UTC
Requires
- guzzlehttp/guzzle: ^7.0
Requires (Dev)
- phpunit/phpunit: 9.4.0
This package is auto-updated.
Last update: 2024-09-27 09:03:46 UTC
README
composer require srlopes/laravel-keycloak-admin
laravel-keycloak-admin
将以下环境变量添加到您的 .env 文件中
KEYCLOAK_ADMIN_BASE_URL=http://keycloak-domain.example/auth
KEYCLOAK_ADMIN_REALM_LOGIN=
KEYCLOAK_ADMIN_REALM=
# Choose to fill in user name and password or client_id and client_secret
KEYCLOAK_ADMIN_USERNAME=
KEYCLOAK_ADMIN_PASSWORD=
KEYCLOAK_ADMIN_CLIENT_ID=
KEYCLOAK_ADMIN_CLIENT_SECRET= # clients -> your_client -> credentials
KEYCLOAK_ADMIN_BASE_URL_REALM=${KEYCLOAK_BASE_URL}/admin/realms/${KEYCLOAK_ADMIN_REALM}
启用领域管理
转到 客户端 -> 您的客户端 -> 服务账户
然后从客户端角色列表中选择 realm-managment
并分配 realm-admin 给客户端。
可用方法
包提供了以下服务
- 用户
- 角色
- 客户端
- 客户端角色
- 组(获取、更新、计数、删除、成员)
发布配置文件
php artisan vendor:publish --provider="KeycloakAdm\KeycloakAdminServiceProvider"
所有API都在 config\keycloakAdmin.php
对于每个API,只需在相关服务上调用API名称作为方法。
示例
use KeycloakAdm\Facades\KeycloakAdmin; KeycloakAdm::user()->create([ 'body' => [ // https://keycloak.com.cn/docs-api/11.0/rest-api/index.html#_userrepresentation 'username' => 'foo' ] ]); KeycloakAdmin::user()->all([ 'query' => [ 'email' => 'email@email.com' ] ]) KeycloakAdm::user()->update([ 'id' => 'user_id', 'body' => [ // https://keycloak.com.cn/docs-api/11.0/rest-api/index.html#_userrepresentation 'username' => 'foo' ] ]); KeycloakAdm::role()->get([ 'id' => 'role_id' ]);
所有其他API调用与示例相同,只需查看每个API的所需参数即可,请参阅 https://keycloak.com.cn/docs-api/11.0/rest-api/index.html