srlopes/laravel-keycloak-admin

此包支持Keycloak管理员客户端API,可以通过用户名和密码或使用安全密钥(client_secret)进行认证

0.1.2 2020-10-23 20:08 UTC

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