PHP client SDK for Casdoor.
composer require casdoor/casdoor-php-sdkInitialize 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'
);// 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());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);use Casdoor\Role;
use Casdoor\Permission;
$roles = $client->getRoles();
$permissions = $client->getPermissions();
$role = new Role();
$role->name = 'admin';
$client->addRole($role);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 |