https://github.com/casdoor/casdoor-php-sdk
PHP client SDK for Casdoor
https://github.com/casdoor/casdoor-php-sdk
auth authentication authn casdoor oauth oidc php saml sso
Last synced: about 1 month ago
JSON representation
PHP client SDK for Casdoor
- Host: GitHub
- URL: https://github.com/casdoor/casdoor-php-sdk
- Owner: casdoor
- License: apache-2.0
- Created: 2021-05-25T16:21:07.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2025-11-07T16:06:46.000Z (8 months ago)
- Last Synced: 2025-11-07T17:33:39.497Z (8 months ago)
- Topics: auth, authentication, authn, casdoor, oauth, oidc, php, saml, sso
- Language: PHP
- Homepage: https://github.com/casdoor/casdoor
- Size: 70.3 KB
- Stars: 21
- Watchers: 2
- Forks: 10
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# casdoor-php-sdk
[](https://packagist.org/packages/casdoor/casdoor-php-sdk)
[](https://packagist.org/packages/casdoor/casdoor-php-sdk)
[](https://packagist.org/packages/casdoor/casdoor-php-sdk)
[](https://packagist.org/packages/casdoor/casdoor-php-sdk)
PHP client SDK for [Casdoor](https://casdoor.org/).
## Installation
```bash
composer require casdoor/casdoor-php-sdk
```
## Quick Start
Initialize the client:
```php
use Casdoor\Client;
$client = new Client(
endpoint: 'https://door.casdoor.com',
clientId: 'YOUR_CLIENT_ID',
clientSecret: 'YOUR_CLIENT_SECRET',
certificate: file_get_contents('/path/to/public_key.pem'),
organizationName: 'built-in',
applicationName: 'app-built-in'
);
```
## Auth / OAuth
```php
// Get OAuth sign-in URL
$signinUrl = $client->getSigninUrl('https://your-app.com/callback');
// Exchange authorization code for access token
$token = $client->getOAuthToken($code, $state);
// Parse JWT token
$claims = $client->parseJwtToken($token->getToken());
```
## User Management
```php
use Casdoor\User;
// Get all users
$users = $client->getUsers();
// Get single user
$user = $client->getUser('alice');
// Create user
$user = new User();
$user->name = 'alice';
$user->email = 'alice@example.com';
$client->addUser($user);
// Update user
$user->displayName = 'Alice';
$client->updateUser($user);
// Delete user
$client->deleteUser($user);
// Paginate users
[$users, $total] = $client->getPaginationUsers(1, 10);
```
## Role & Permission Management
```php
use Casdoor\Role;
use Casdoor\Permission;
$roles = $client->getRoles();
$permissions = $client->getPermissions();
$role = new Role();
$role->name = 'admin';
$client->addRole($role);
```
## Other Resources
The SDK supports the full Casdoor API. Available methods follow the same patterns:
| Resource | Methods |
|---|---|
| Organization | getOrganization, getOrganizations, addOrganization, updateOrganization, deleteOrganization |
| Application | getApplications, getApplication, addApplication, updateApplication, deleteApplication |
| Group | getGroups, getGroup, addGroup, updateGroup, deleteGroup |
| Cert | getCerts, getCert, addCert, updateCert, deleteCert |
| Provider | getProviders, getProvider, addProvider, updateProvider, deleteProvider |
| Resource | getResources, getResource, uploadResource, deleteResource |
| Webhook | getWebhooks, getWebhook, addWebhook, updateWebhook, deleteWebhook |
| Session | getSessions, getSession, addSession, updateSession, deleteSession |
| Syncer | getSyncers, getSyncer, addSyncer, updateSyncer, deleteSyncer |
| Plan | getPlans, getPlan, addPlan, updatePlan, deletePlan |
| Pricing | getPricings, getPricing, addPricing, updatePricing, deletePricing |
| Subscription | getSubscriptions, getSubscription, addSubscription, updateSubscription, deleteSubscription |
| Product | getProducts, getProduct, addProduct, updateProduct, deleteProduct |
| Order | getOrders, getOrder, addOrder, updateOrder, deleteOrder, cancelOrder |
| Payment | getPayments, getPayment, addPayment, updatePayment, deletePayment |
| Transaction | getTransactions, getTransaction, addTransaction, updateTransaction, deleteTransaction |
| Invitation | getInvitations, getInvitation, addInvitation, updateInvitation, deleteInvitation |
| Adapter | getAdapters, getAdapter, addAdapter, updateAdapter, deleteAdapter |
| Enforcer | getEnforcers, getEnforcer, addEnforcer, updateEnforcer, deleteEnforcer |
| Model | getModels, getModel, addModel, updateModel, deleteModel |
| Policy | getPolicies, addPolicy, updatePolicy, removePolicy |
| Email | sendEmail, sendEmailByProvider |
| SMS | sendSms, sendSmsByProvider |
| LDAP | getLdaps, getLdap, addLdap, updateLdap, deleteLdap, getLdapUsers, syncLdapUsers |
## License
[Apache 2.0](LICENSE)