PHP code example of ristekusdi / kisara-php

1. Go to this page and download the library: Download ristekusdi/kisara-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/ */

    

ristekusdi / kisara-php example snippets



// First option
$config = [
    'admin_url' => 'KEYCLOAK_ADMIN_URL',
    'base_url' => 'KEYCLOAK_BASE_URL',
    'realm' => 'KEYCLOAK_REALM',
    'client_id' => 'KEYCLOAK_CLIENT_ID',
    'client_secret' => 'KEYCLOAK_CLIENT_SECRET',
];

// Second option
$config = [
    'admin_url' => 'KEYCLOAK_ADMIN_URL',
    'base_url' => 'KEYCLOAK_BASE_URL',
    'realm' => 'KEYCLOAK_REALM',
    'access_token' => 'ACCESS_TOKEN_FROM_SERVICE_ACCOUNTS_OF_CLIENT',
];

use RistekUSDI\Kisara\Client as KisaraClient;

// With parameters
(new KisaraClient($config))->get([
    'clientId' => 'CLIENT_ID_NAME',
    'search' => 'true'
]);

// Without parameters
(new KisaraClient($config))->get();

use RistekUSDI\Kisara\Client as KisaraClient;

(new KisaraClient($config))->findById($client_id);

use RistekUSDI\Kisara\Client as KisaraClient;

$data = [
    'enabled' => 'true',
    'protocol' => 'openid-connect',
    'clientId' => $clientId,
    'rootUrl' => $rootUrl,
    // Determine if client type is public or confidential
    // true = public, false = confidential
    'publicClient' => $publicClient,
];

(new KisaraClient($config))->store($data);

use RistekUSDI\Kisara\Client as KisaraClient;

$data = [
    'enabled' => 'true',
    'protocol' => 'openid-connect',
    'clientId' => $clientId,
    'rootUrl' => $rootUrl,
    // Determine if client type is public or confidential
    // true = public, false = confidential
    'publicClient' => $publicClient,
];

(new KisaraClient($config))->update($client_id, $data);

use RistekUSDI\Kisara\Client as KisaraClient;

(new KisaraClient($config))->delete($client_id);

use RistekUSDI\Kisara\Client as KisaraClient;

(new KisaraClient($config))->getServiceAccountUser($client_id);

use RistekUSDI\Kisara\Client as KisaraClient;

// Without param
(new KisaraClient($config))->userSessions($client_id);

$params = [
    'first' => '0',
    'max' => '10',
];

// With params
(new KisaraClient($config))->userSessions($client_id, $params);

use RistekUSDI\Kisara\ClientRole as KisaraClientRole;

$params = [
    'first' => '0',
    'max' => '10',
    'search' => 'role name of client',
];

(new KisaraClientRole($config))->get($client_id, $params);

use RistekUSDI\Kisara\ClientRole as KisaraClientRole;

$data = [
    'name' => 'role name of client',
]

(new KisaraClientRole($config))->store($client_id, $data);

use RistekUSDI\Kisara\ClientRole as KisaraClientRole;

$params = [
    'first' => '0',
    'max' => '10'
];

(new KisaraClientRole($config))->getUsers($client_id, $role_name, $params);

use RistekUSDI\Kisara\ClientRole as KisaraClientRole;

$params = [
    'first' => '0',
    'max' => '10'
];

(new KisaraClientRole($config))->getGroups($client_id, $role_name, $params);

use RistekUSDI\Kisara\ClientSecret as KisaraClientSecret;

(new KisaraClientSecret($config))->get($client_id);

use RistekUSDI\Kisara\ClientSecret as KisaraClientSecret;

(new KisaraClientSecret($config))->update($client_id);

use RistekUSDI\Kisara\DeviceActivity as KisaraDeviceActivity;

$config = [
    'base_url' => 'BASE_KEYCLOAK_URL',
    'realm' => 'KEYCLOAK_REALM',
    'access_token' => 'ACCESS_TOKEN_FROM_USER',
];

(new KisaraDeviceActivity($config))->get();

use RistekUSDI\Kisara\DeviceActivity as KisaraDeviceActivity;

$config = [
    'base_url' => 'BASE_KEYCLOAK_URL',
    'realm' => 'KEYCLOAK_REALM',
    'access_token' => 'ACCESS_TOKEN_FROM_USER',
];

(new KisaraDeviceActivity($config))->endAllSession();

use RistekUSDI\Kisara\DeviceActivity as KisaraDeviceActivity;

$config = [
    'base_url' => 'BASE_KEYCLOAK_URL',
    'realm' => 'KEYCLOAK_REALM',
    'access_token' => 'ACCESS_TOKEN_FROM_USER',
];

(new KisaraDeviceActivity($config))->endSession($session_id);

use RistekUSDI\Kisara\Group as KisaraGroup;

// With parameters.
$params = [
    'first' => '0',
    'max' => '10',
    'search' => 'name of group',
];

(new KisaraGroup($config))->get($params);

// Without parameters.
(new KisaraGroup($config))->get();

use RistekUSDI\Kisara\Group as KisaraGroup;

(new KisaraGroup($config))->findById($group_id);

use RistekUSDI\Kisara\Group as KisaraGroup;

(new KisaraGroup($config))->store(array(
    'name' => 'name of group'
));

use RistekUSDI\Kisara\Group as KisaraGroup;

(new KisaraGroup($config))->delete($group_id);

use RistekUSDI\Kisara\Group as KisaraGroup;

// With parameters.
$params = [
    'first' => '0',
    'max' => '10',
];
(new KisaraGroup($config))->members($group_id, $params);

// Without parameters.
(new KisaraGroup($config))->members($group_id);

use RistekUSDI\Kisara\Group as KisaraGroup;

// Without parameters.
(new KisaraGroup($config))->getRoleMappings($group_id);

use RistekUSDI\Kisara\GroupClientRole as KisaraGroupClientRole;

(new KisaraGroupClientRole($config))->getAvailableRoles($group_id, $client_id);

use RistekUSDI\Kisara\GroupClientRole as KisaraGroupClientRole;

(new KisaraGroupClientRole($config))->storeAssignedRoles($group_id, $client_id, $roles);

use RistekUSDI\Kisara\GroupClientRole as KisaraGroupClientRole;

(new KisaraGroupClientRole($config))->getAssignedRoles($group_id, $client_id);

use RistekUSDI\Kisara\GroupClientRole as KisaraGroupClientRole;

(new KisaraGroupClientRole($config))->deleteAssignedRoles($group_id, $client_id);

use RistekUSDI\Kisara\GroupClientRole as KisaraGroupClientRole;

(new KisaraGroupClientRole($config))->getEffectiveRoles($group_id, $client_id);

use RistekUSDI\Kisara\Key as KisaraKey;

(new KisaraKey($config))->get();

use RistekUSDI\Kisara\Key as KisaraKey;

(new KisaraKey($config))->getRSA256PublicKey();

use RistekUSDI\Kisara\Role as KisaraRole;

(new KisaraRole($config))->findById($role_id);

use RistekUSDI\Kisara\Role as KisaraRole;

$data = [
    'name' => 'role name'
]

(new KisaraRole($config))->update($role_id, $data);

use RistekUSDI\Kisara\Role as KisaraRole;

(new KisaraRole($config))->delete($role_id);

use RistekUSDI\Kisara\Session as KisaraSession;

(new KisaraSession($config))->delete($session_id);

use RistekUSDI\Kisara\User as KisaraUser;

// With parameters
$params = [
    // Option 1
    'username' => 'username',
    'exact' => true,

    // Option 2
    'email' => 'mail of user',
    'username' => 'username',
];

(new KisaraUser($config))->get($params);

// Without parameters
(new KisaraUser($config))->get();

use RistekUSDI\Kisara\User as KisaraUser;

(new KisaraUser($config))->findById($user_id);

use RistekUSDI\Kisara\User as KisaraUser;

$data = [
    'firstName' => 'first name of user',
    'lastName' => 'last name of user',
    'email' => 'email of user',
    'username' => 'username',
    'enabled' => true,
    'credentials' => [
        [
            'temporary' => true,
            'type' => 'password',
            'value' => 'value of password.'
        ]
    ],
];

(new KisaraUser($config))->store($data);

use RistekUSDI\Kisara\User as KisaraUser;

$data = [
    'firstName' => 'first name of user',
    'lastName' => 'last name of user',
    'email' => 'email of user',
    'username' => 'username',
    'enabled' => true,
    'credentials' => [
        [
            'temporary' => true,
            'type' => 'password',
            'value' => 'value of password.'
        ]
    ],
];

(new KisaraUser($config))->update($user_id, $data);

use RistekUSDI\Kisara\User as KisaraUser;

(new KisaraUser($config))->groups($user_id);

use RistekUSDI\Kisara\User as KisaraUser;

$data = array(
    'type' => 'password',
    'value' => 'value of password',
    'temporary' => true,
);

(new KisaraUser($config))->resetCredentials($user_id, $data);

use RistekUSDI\Kisara\UserClientRole as KisaraUserClientRole;

(new KisaraUserClientRole($config))->getAvailableRoles($user_id, $client_id);

use RistekUSDI\Kisara\UserClientRole as KisaraUserClientRole;

(new KisaraUserClientRole($config))->storeAssignedRoles($user_id, $client_id, $roles);

use RistekUSDI\Kisara\UserClientRole as KisaraUserClientRole;

(new KisaraUserClientRole($config))->getAssignedRoles($user_id, $client_id);

use RistekUSDI\Kisara\UserClientRole as KisaraUserClientRole;

(new KisaraUserClientRole($config))->deleteAssignedRoles($user_id, $client_id);

use RistekUSDI\Kisara\UserClientRole as KisaraUserClientRole;

(new KisaraUserClientRole($config))->getEffectiveRoles($user_id, $client_id);

use RistekUSDI\Kisara\UserGroup as KisaraUserGroup;

(new KisaraUserGroup($config))->attach($user_id, $group_id);

use RistekUSDI\Kisara\UserGroup as KisaraUserGroup;

(new KisaraUserGroup($config))->detach($user_id, $group_id);
bash
composer