PHPackages                             gathern/casdoor-api - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. gathern/casdoor-api

ActiveLibrary

gathern/casdoor-api
===================

A skeleton repository for my packages

v0.5.3(5mo ago)0975MITPHPPHP ^8.1.0CI passing

Since Feb 2Pushed 5mo ago3 watchersCompare

[ Source](https://github.com/gathernHolding/casdoor-api)[ Packagist](https://packagist.org/packages/gathern/casdoor-api)[ RSS](/packages/gathern-casdoor-api/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (10)Dependencies (8)Versions (12)Used By (0)

---

This package provides a wonderful **Casdoor-api** integration for PHP projects.

> **Requires [PHP 8.1+](https://php.net/releases/)**

Installation
------------

[](#installation)

You can install the package via composer:

```
composer require gathern/casdoor-api
```

Usage
-----

[](#usage)

```
$connector = new \Gathern\CasdoorAPI\CasdoorConnector();
```

### Available Endpoints

[](#available-endpoints)

#### User API

[](#user-api)

```
// Create a new user
$response = $connector->userApi()->apiControllerAddUser(
    name: 'username'
);

// Update user password
$response = $connector->userApi()->apiControllerSetUserPassword(
    userName: 'username',
    newPassword: 'new_password'
);
```

#### Login API

[](#login-api)

```
// Login with username and password
$response = $connector->loginApi()->apiControllerLogin(
    application: 'your-app-name',
    username: 'username',
    signinMethod: \Gathern\CasdoorAPI\Enum\SignInMethod::PASSWORD,
    password: 'password'
);

// Get JWT token using client credentials
$response = $connector->TokenApi()->apiControllerGetOauthToken(
    clientId: 'your-client-id',
    clientSecret: 'your-client-secret',
    grantType: \Gathern\CasdoorAPI\Enum\GrantType::CLIENT_CREDENTIALS
);
```

#### Role API

[](#role-api)

```
// Get all roles
$response = $connector->roleApi()->apiControllerGetRoles();

// Get role details
$response = $connector->roleApi()->apiControllerGetRole(id: 'role-name');

// Add a new role
$response = $connector->roleApi()->apiControllerAddRole(
    name: 'new-role',
    displayName: 'New Role'
);

// Update a role
$response = $connector->roleApi()->apiControllerUpdateRole(
    id: 'role-name',
    displayName: 'Updated Role Name'
);

// Update role from role data object
$roleDetails = $connector->roleApi()->apiControllerGetRole(id: 'role-name')->dto();
$response = $connector->roleApi()->apiControllerUpdateRoleFromRoleData(
    $roleDetails->data,
    displayName: 'Updated Role Name'
);
```

#### Group API

[](#group-api)

```
// Get all groups
$response = $connector->groupApi()->apiControllerGetGroups('organization-name');

// Get group details
$response = $connector->groupApi()->apiControllerGetGroup(id: 'group-name');

// Add a new group
$response = $connector->groupApi()->apiControllerAddGroup(
    name: 'new-group'
);

// Update a group
$response = $connector->groupApi()->apiControllerUpdateGroup(
    id: 'group-name',
    name: 'updated-group-name'
);
```

Handling Responses
------------------

[](#handling-responses)

All API methods return a response object with the following methods:

```
// Get the response as a DTO
$responseDto = $response->dto();

// Check the status of the response
if ($responseDto->status === \Gathern\CasdoorAPI\Enum\ResponseStatus::OK) {
    // Success
    $data = $responseDto->data;
} else {
    // Error
    $errorMessage = $responseDto->msg;
}
```

🧹 Keep a modern codebase with **Pint**:

```
composer lint
```

✅ Run refactors using **Rector**

```
composer refacto
```

⚗️ Run static analysis using **PHPStan**:

```
composer test:types
```

✅ Run unit tests using **PEST**

```
composer test:unit
```

🚀 Run the entire test suite:

```
composer test
```

###  Health Score

38

—

LowBetter than 85% of packages

Maintenance72

Regular maintenance activity

Popularity18

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity43

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 53.3% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~33 days

Recently: every ~7 days

Total

10

Last Release

157d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/66f9ae4ae8a0709ce92c0a9c2dd1413fd7e000f393eaf3d042edc04843a5f714?d=identicon)[Shabandinh0](/maintainers/Shabandinh0)

---

Top Contributors

[![m-hazem](https://avatars.githubusercontent.com/u/108622673?v=4)](https://github.com/m-hazem "m-hazem (8 commits)")[![shabandino-gathern](https://avatars.githubusercontent.com/u/188964276?v=4)](https://github.com/shabandino-gathern "shabandino-gathern (7 commits)")

---

Tags

phpGathernCasdoorAPICasdoor-api

###  Code Quality

TestsPest

Static AnalysisPHPStan, Rector

Code StyleLaravel Pint

Type Coverage Yes

### Embed Badge

![Health badge](/badges/gathern-casdoor-api/health.svg)

```
[![Health](https://phpackages.com/badges/gathern-casdoor-api/health.svg)](https://phpackages.com/packages/gathern-casdoor-api)
```

###  Alternatives

[wandesnet/mercadopago-laravel

PHP SDK for integration with Mercado Pago

252.4k](/packages/wandesnet-mercadopago-laravel)[sandorian/moneybird-api-php

Moneybird API client for PHP

127.3k](/packages/sandorian-moneybird-api-php)[helgesverre/milvus

PHP Client for the Milvus Rest API

306.2k](/packages/helgesverre-milvus)[marceloeatworld/falai-php

Professional PHP client for the fal.ai serverless AI platform

105.5k](/packages/marceloeatworld-falai-php)[benbjurstrom/cloudflare-images-php

A PHP client for the Cloudflare Images API

1414.6k1](/packages/benbjurstrom-cloudflare-images-php)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
