casdoor / casdoor-php-sdk
PHP client SDK for Casdoor
v1.5.0
2026-05-11 14:14 UTC
Requires
- php: >=8.0
- firebase/php-jwt: ^6.0
- guzzlehttp/guzzle: ^7.3
- league/oauth2-client: ^2.6
Requires (Dev)
- phpunit/phpunit: ^9.0|^10.0
This package is auto-updated.
Last update: 2026-05-11 14:19:17 UTC
README
PHP client SDK for Casdoor.
Installation
composer require casdoor/casdoor-php-sdk
Quick Start
Initialize the client:
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
// 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
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
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 |
| sendEmail, sendEmailByProvider | |
| SMS | sendSms, sendSmsByProvider |
| LDAP | getLdaps, getLdap, addLdap, updateLdap, deleteLdap, getLdapUsers, syncLdapUsers |