marionassef/laravel-keycloak-admin-rest-api

laravel keycloak admin rest api

v1.8 2022-05-08 10:37 UTC

This package is not auto-updated.

Last update: 2024-09-22 21:37:34 UTC


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 中的所需参数即可