marionassef / laravel-keycloak-admin-rest-api
laravel keycloak admin rest api
v1.8
2022-05-08 10:37 UTC
Requires
README
这是一个从 https://github.com/Mnikoei/laravel-keycloak-admin 分支出来的仓库
原始工作归功于 Mnikoei。
安装
composer require marionassef/laravel-keycloak-admin-rest-api
使用发布命令将包配置复制到您的本地配置中
php artisan vendor:publish --provider="laravelKeycloakAdminRestApi\KeycloakAdminServiceProvider"
laravel-keycloak-admin
将这些环境变量添加到您的 .env 文件中
KEYCLOAK_BASE_URL=http://keycloak-domain.example/auth
KEYCLOAK_REALM=
KEYCLOAK_REALM_PUBLIC_KEY= # realm settings -> keys
KEYCLOAK_ADMIN_CLIENT_ID=
KEYCLOAK_ADMIN_CLIENT_UUID=
KEYCLOAK_ADMIN_CLIENT_SECRET= # clients -> your_client -> credentials
KEYCLOAK_ADMIN_BASE_URL=${KEYCLOAK_BASE_URL}/admin/realms/${KEYCLOAK_REALM}
启用领域管理
转到 客户端 -> 您的客户端 -> 服务账户 然后选择领域管理
从客户端角色列表中分配领域管理员权限给客户端。
可用方法
包提供了以下服务
- 用户
- 角色
- 客户端
- 客户端角色
所有API都已在 config\keycloakAdmin.php 中声明
对于每个API,只需在相关服务上调用API名称作为方法。
示例
KeycloakAdmin::serviceName()->apiName($parameters) keycloakAdmin::user()->create([ 'body' => [ // https://keycloak.com.cn/docs-api/7.0/rest-api/index.html#_userrepresentation 'username' => 'foo' ] ]); keycloakAdmin::user()->update([ 'id' => 'user_id', 'body' => [ // https://keycloak.com.cn/docs-api/7.0/rest-api/index.html#_userrepresentation 'username' => 'foo' ] ]); keycloakAdmin::role()->get([ 'id' => 'role_id' ]);
所有其他API调用与示例相同,只需提供描述在 https://keycloak.com.cn/docs-api/7.0/rest-api/index.html 中的所需参数即可