定制 haizad/laravel-keycloak-admin 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

haizad/laravel-keycloak-admin

最新稳定版本:1.9

Composer 安装命令:

composer require haizad/laravel-keycloak-admin

包简介

Keycloak Admin Rest API for Laravel/Lumen

README 文档

README

This is a forked repository from https://github.com/Mnikoei/laravel-keycloak-admin

Original work credited to Mnikoei.

Alternative

Keycloak Admin library made by Scito. https://gitlab.com/scito-performance/keycloak-admin

Supports

  • Laravel 8
  • Lumen 8
  • Installation

    composer require haizad/laravel-keycloak-admin 

    Copy the package config to your local config with the publish command:

    Laravel only

    php artisan vendor:publish --provider="LaravelKeycloakAdmin\KeycloakAdminServiceProvider"

    Lumen only

    Create a config folder in the root directory. Copy keycloakAdmin.php from vendor/haizad/laravel-keycloak-admin/src/Config/, and paste into config folder.

    Register the provider in your boostrap app file bootstrap/app.php

    Add the following line at that files. Please note that $app->configure('keycloakAdmin'); should be placed below $app->register(\LaravelKeycloakAdmin\KeycloakAdminServiceProvider::class);.

    //"Register Service Providers" section $app->register(\LaravelKeycloakAdmin\KeycloakAdminServiceProvider::class); $app->configure('keycloakAdmin'); $app->router->group([ 'namespace' => 'App\Http\Controllers', ], function ($router) { require __DIR__.'/../routes/web.php'; }); return $app;

    For facades, uncomment $app->withFacades(); in your boostrap app file bootstrap/app.php

    Environment Setup

    Add these environment variables to your .env :

    KEYCLOAK_BASE_URL=http://keycloak-domain.example/auth KEYCLOAK_REALM= KEYCLOAK_REALM_PUBLIC_KEY= # realm settings -> keys KEYCLOAK_CLIENT_ID= KEYCLOAK_CLIENT_SECRET= # clients -> your_client -> credentials KEYCLOAK_ADMIN_BASE_URL=${KEYCLOAK_BASE_URL}/admin/realms/${KEYCLOAK_REALM} 

    Enable realm managment

    Go to clients -> your_client -> Service Account then select realm-managment

    from Client Roles list and assign realm-admin to client.

    Available methods :

    Package has provided services as below:

    • user
    • role
    • client
    • clientRole
    • addon

    Available functions:

    • Create User
    • Get All User
    • Query User

    All API's are declared in config\keycloakAdmin.php

    Usages

    Include the KeycloakAdmin inside your Laravel controller/API route

    use LaravelKeycloakAdmin\Facades\KeycloakAdmin; 

    Example:

    KeycloakAdmin::serviceName()->apiName($parameters) //Create User Sample //Refer https://www.keycloak.org/docs-api/11.0/rest-api/index.html#_userrepresentation KeycloakAdmin::user()->create([ 'body' => [ 'username' => 'foo', 'enabled' => true, 'emailVerified' => false, 'email' => 'foo@email.com', 'credentials' => [[ 'type' => 'password', 'value' => 'foobar', 'temporary' => false ]] ] ]); //Query User Sample //Refer Query parameter on GET /{realm}/users https://www.keycloak.org/docs-api/11.0/rest-api/index.html KeycloakAdmin::user()->find([ 'query' => [ 'email' => 'foobar@example.com' ] ]); //Get All User Sample KeycloakAdmin::user()->all();

    Additional Methods

    Logout User session by user Id

    KeycloakAdmin::addon()->logoutById([ 'id' => 'user_id' ]) 

    Set Expiry Access Token

    KeycloakAdmin::addon()->setAccessTokenExpiry([ 'body' => [ 'accessTokenLifespan' => 60 ] ]) 

    To do list

    • Lumen Support
    • Test LDAP Connection
    • Import users from LDAP

    All other api calls are same as examples just needs to provide required parameters as described in https://www.keycloak.org/docs-api/11.0/rest-api/index.html

    统计信息

    • 总下载量: 16.8k
    • 月度下载量: 0
    • 日度下载量: 0
    • 收藏数: 4
    • 点击次数: 1
    • 依赖项目数: 1
    • 推荐数: 0

    GitHub 信息

    • Stars: 4
    • Watchers: 0
    • Forks: 11
    • 开发语言: PHP

    其他信息

    • 授权协议: MIT
    • 更新时间: 2026-01-04

    承接程序开发

    PHP开发

    VUE

    Vue开发

    前端开发

    小程序开发

    公众号开发

    系统定制

    数据库设计

    云部署

    网站建设

    安全加固