PHP code example of mozhuilungdsuo / iam-client
1. Go to this page and download the library: Download mozhuilungdsuo/iam-client 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/ */
mozhuilungdsuo / iam-client example snippets
'scopes' => [
'openid',
'profile',
'email',
'roles',
'permissions',
'govt_employee_details',
'esign.request',
'esign.read',
],
use Illuminate\Support\Str;
$request = $esignBroker->create(
document: $validated['document'],
clientReference: (string) $document->id,
state: Str::random(48),
mode: 'direct',
signatureFieldName: 'Approval',
);
return redirect()->away($request->handoffUrl);
$result = $esignBroker->status($transactionId);
if ($result->completed()) {
$signedPdf = $esignBroker->download($transactionId);
}
'routes' => [
'enabled' => true,
'prefix' => 'iam',
'middleware' => ['web'],
],
use Illuminate\Foundation\Configuration\Middleware;
use Illuminate\Http\Request;
->withMiddleware(function (Middleware $middleware): void {
$middleware->redirectGuestsTo(fn (Request $request): string => route('iam.login'));
})
Route::middleware(['auth', 'iam.permission:crs.birth.create'])->group(function (): void {
Route::post('/birth-records', StoreBirthRecordController::class);
});
Route::middleware(['auth', 'iam.role:CRS.Registrar'])->group(function (): void {
Route::get('/registrar', RegistrarDashboardController::class);
});
Route::middleware(['iam.auth'])->get('/iam-only', IamOnlyController::class);
declare(strict_types=1);
return [
'crs.birth.create' => [
'name' => 'Create Birth Record',
'description' => 'Create birth records',
],
'crs.birth.approve' => [
'name' => 'Approve Birth Record',
'description' => 'Approve birth records',
],
];
declare(strict_types=1);
return [
'CRS.Registrar' => [
'name' => 'CRS Registrar',
'description' => 'Can create and edit civil registration records.',
'permissions' => [
'crs.birth.create',
'crs.birth.edit',
],
],
];
Gate::allows('crs.birth.create');
@can('crs.birth.create')
...
@endcan
use Nagaland\IamClient\Facades\NagalandIam;
$user = NagalandIam::user();
$iamUser = NagalandIam::iamUser();
$govtEmpProfile = NagalandIam::govtEmpProfile();
$roles = NagalandIam::roles();
$permissions = NagalandIam::permissions();
if (NagalandIam::hasPermission('crs.birth.approve')) {
// ...
}
NagalandIam::setIamActive(true); // activate the current local user
NagalandIam::setIamActive(false); // deactivate the current local user
$active = NagalandIam::isIamActive();
[
'designation' => 'Registrar',
'department' => 'Home Department',
'office' => 'Kohima HQ',
'pims_code' => 'PIMS-123',
]
bash
php artisan vendor:publish --tag=nagaland-iam-config
php artisan vendor:publish --tag=nagaland-iam-migrations
php artisan migrate
text
openid profile email roles permissions govt_employee_details
bash
php artisan optimize:clear
bash
cd nagaland-iam
php artisan migrate
php artisan iam:oidc-keys
bash
php artisan schedule:work
bash
php artisan schedule:run
bash
php artisan iam:sync-permissions
bash
php artisan vendor:publish --tag=nagaland-iam-config
bash
php artisan iam:health-check
php artisan iam:sync-permissions
php artisan iam:clear-cache
bash
cd ../nagaland-iam
php artisan serve --host=localhost --port=8000
bash
cd ../nagaland-iam-client
php artisan serve --host=localhost --port=8001