1. Go to this page and download the library: Download kinde-oss/kinde-auth-php library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
kinde-oss / kinde-auth-php example snippets
use Kinde\KindeSDK\KindeClientSDK;
// Create OAuth client from environment variables (recommended)
$kindeClient = KindeClientSDK::createFromEnv();
// Or use constructor (same result)
$kindeClient = new KindeClientSDK();
// Or override specific parameters
$kindeClient = new KindeClientSDK(
domain: 'https://custom-domain.kinde.com', // Override domain
redirectUri: null, // Use from environment
clientId: null, // Use from environment
clientSecret: null, // Use from environment
grantType: 'authorization_code' // Override grant type
);
// Redirect user to login
$kindeClient->login();
// Handle callback and get user info
if ($kindeClient->isAuthenticated) {
$user = $kindeClient->getUserDetails();
echo "Welcome, {$user['given_name']}!";
// Check user entitlements
if ($kindeClient->hasEntitlement('premium_features')) {
$limit = $kindeClient->getEntitlementLimit('premium_features');
echo "You have premium features with limit: " . $limit;
}
}
use Kinde\KindeSDK\KindeManagementClient;
// Create management client from environment variables (recommended)
$management = KindeManagementClient::createFromEnv();
// Or use constructor (same result)
$management = new KindeManagementClient();
// Or override specific parameters
$management = new KindeManagementClient(
domain: 'https://custom-domain.kinde.com', // Override domain
clientId: null, // Use from environment
clientSecret: null, // Use from environment
accessToken: 'custom_token' // Override access token
);
// Create a user
$user = $management->users->createUser([
'given_name' => 'John',
'family_name' => 'Doe',
'email' => '[email protected]'
]);
// Get all users
$users = $management->users->getUsers();
// Create an organization
$org = $management->organizations->createOrganization([
'name' => 'My Organization'
]);
'providers' => [
// ... other providers
Kinde\KindeSDK\Frameworks\Laravel\KindeServiceProvider::class,
],
// In your controller
use Kinde\KindeSDK\KindeClientSDK;
use Kinde\KindeSDK\KindeManagementClient;
class AuthController extends Controller
{
public function __construct(
private KindeClientSDK $kindeClient,
private KindeManagementClient $management
) {}
public function login()
{
return $this->kindeClient->login();
}
public function createUser(Request $request)
{
$user = $this->management->users->createUser([
'given_name' => $request->input('given_name'),
'family_name' => $request->input('family_name'),
'email' => $request->input('email')
]);
return response()->json($user);
}
}
use Kinde\KindeSDK\Api\UsersApi;
use Kinde\KindeSDK\Configuration;
$config = new Configuration();
$config->setHost('https://your-domain.kinde.com');
$config->setAccessToken('your_token');
$usersApi = new UsersApi(null, $config);
$users = $usersApi->getUsers();
use Kinde\KindeSDK\KindeManagementClient;
$management = KindeManagementClient::createFromEnv();
$users = $management->users->getUsers();