casdoor/casdoor-php-sdk

PHP client SDK for Casdoor

24

stars

35

commits

PHP

primary language

May 11, 2026

updated

github.com/casdoor/casdoor
auth
authentication
authn
casdoor
oauth
oidc
php
saml
sso
Browse cluster: Identity & Access Management Platforms

README

casdoor-php-sdk

Latest Stable Version Total Downloads License PHP Version Require

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:

ResourceMethods
OrganizationgetOrganization, getOrganizations, addOrganization, updateOrganization, deleteOrganization
ApplicationgetApplications, getApplication, addApplication, updateApplication, deleteApplication
GroupgetGroups, getGroup, addGroup, updateGroup, deleteGroup
CertgetCerts, getCert, addCert, updateCert, deleteCert
ProvidergetProviders, getProvider, addProvider, updateProvider, deleteProvider
ResourcegetResources, getResource, uploadResource, deleteResource
WebhookgetWebhooks, getWebhook, addWebhook, updateWebhook, deleteWebhook
SessiongetSessions, getSession, addSession, updateSession, deleteSession
SyncergetSyncers, getSyncer, addSyncer, updateSyncer, deleteSyncer
PlangetPlans, getPlan, addPlan, updatePlan, deletePlan
PricinggetPricings, getPricing, addPricing, updatePricing, deletePricing
SubscriptiongetSubscriptions, getSubscription, addSubscription, updateSubscription, deleteSubscription
ProductgetProducts, getProduct, addProduct, updateProduct, deleteProduct
OrdergetOrders, getOrder, addOrder, updateOrder, deleteOrder, cancelOrder
PaymentgetPayments, getPayment, addPayment, updatePayment, deletePayment
TransactiongetTransactions, getTransaction, addTransaction, updateTransaction, deleteTransaction
InvitationgetInvitations, getInvitation, addInvitation, updateInvitation, deleteInvitation
AdaptergetAdapters, getAdapter, addAdapter, updateAdapter, deleteAdapter
EnforcergetEnforcers, getEnforcer, addEnforcer, updateEnforcer, deleteEnforcer
ModelgetModels, getModel, addModel, updateModel, deleteModel
PolicygetPolicies, addPolicy, updatePolicy, removePolicy
EmailsendEmail, sendEmailByProvider
SMSsendSms, sendSmsByProvider
LDAPgetLdaps, getLdap, addLdap, updateLdap, deleteLdap, getLdapUsers, syncLdapUsers

License

Apache 2.0

Contributors

basakest

20 commits

hsluoyz

6 commits

Linvery

6 commits

i0gan

1 commits

casdoor/casdoor-php-sdk

PHP client SDK for Casdoor

24

stars

35

commits

PHP

primary language

May 11, 2026

updated

github.com/casdoor/casdoor
auth
authentication
authn
casdoor
oauth
oidc
php
saml
sso
Browse cluster: Identity & Access Management Platforms

README

casdoor-php-sdk

Latest Stable Version Total Downloads License PHP Version Require

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:

ResourceMethods
OrganizationgetOrganization, getOrganizations, addOrganization, updateOrganization, deleteOrganization
ApplicationgetApplications, getApplication, addApplication, updateApplication, deleteApplication
GroupgetGroups, getGroup, addGroup, updateGroup, deleteGroup
CertgetCerts, getCert, addCert, updateCert, deleteCert
ProvidergetProviders, getProvider, addProvider, updateProvider, deleteProvider
ResourcegetResources, getResource, uploadResource, deleteResource
WebhookgetWebhooks, getWebhook, addWebhook, updateWebhook, deleteWebhook
SessiongetSessions, getSession, addSession, updateSession, deleteSession
SyncergetSyncers, getSyncer, addSyncer, updateSyncer, deleteSyncer
PlangetPlans, getPlan, addPlan, updatePlan, deletePlan
PricinggetPricings, getPricing, addPricing, updatePricing, deletePricing
SubscriptiongetSubscriptions, getSubscription, addSubscription, updateSubscription, deleteSubscription
ProductgetProducts, getProduct, addProduct, updateProduct, deleteProduct
OrdergetOrders, getOrder, addOrder, updateOrder, deleteOrder, cancelOrder
PaymentgetPayments, getPayment, addPayment, updatePayment, deletePayment
TransactiongetTransactions, getTransaction, addTransaction, updateTransaction, deleteTransaction
InvitationgetInvitations, getInvitation, addInvitation, updateInvitation, deleteInvitation
AdaptergetAdapters, getAdapter, addAdapter, updateAdapter, deleteAdapter
EnforcergetEnforcers, getEnforcer, addEnforcer, updateEnforcer, deleteEnforcer
ModelgetModels, getModel, addModel, updateModel, deleteModel
PolicygetPolicies, addPolicy, updatePolicy, removePolicy
EmailsendEmail, sendEmailByProvider
SMSsendSms, sendSmsByProvider
LDAPgetLdaps, getLdap, addLdap, updateLdap, deleteLdap, getLdapUsers, syncLdapUsers

License

Apache 2.0

Contributors

basakest

20 commits

hsluoyz

6 commits

Linvery

6 commits

i0gan

1 commits

Languages

PHP

100.0%