putheakhem / laravel-camdigi-key
A Laravel wrapper for the CamDigiKey Node.js client library
Installs: 188
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Language:JavaScript
Requires
- php: ^8.2
- illuminate/support: ^10.0|^11.0|^12.0
- symfony/process: ^6.0|^7.0|^8.0
This package is auto-updated.
Last update: 2025-06-21 04:08:13 UTC
README
Laravel CamDigiKey Package
A Laravel wrapper for the CamDigiKey Node.js Client.
This package integrates Cambodia’s national digital identity authentication (CamDigiKey) system with your Laravel application via Node.js.
📦 Installation
You can install the package via Packagist:
composer require putheakhem/laravel-camdigi-key
⚙️ Setup
After installation:
php artisan vendor:publish --tag=config
This will publish the config/camdigikey.php
file.
Run php artisan camdigikey:setup
. The package also automatically clones the Node.js SDK into:
vendor/putheakhem/laravel-camdigi-key/node-lib/
🌐 .env Configuration
Set your CamDigiKey credentials in .env
:
CAMDIGIKEY_CLIENT_ID=your_client_id CAMDIGIKEY_HMAC_KEY=your_hmac_key CAMDIGIKEY_AES_SECRET_KEY=your_aes_secret CAMDIGIKEY_AES_IV_PARAMS=your_iv CAMDIGIKEY_CLIENT_DOMAIN=https://your-app.test CAMDIGIKEY_SERVER_BASED_URL=https://camdigikey.serveo.net CAMDIGIKEY_CLIENT_KEYSTORE_FILE=storage/app/camdigi-key/client_keystore.p12 CAMDIGIKEY_CLIENT_KEYSTORE_FILE_PASSWORD=your_password CAMDIGIKEY_CLIENT_TRUST_STORE_FILE=storage/app/camdigi-key/trust_keystore.p12 CAMDIGIKEY_CLIENT_TRUST_STORE_FILE_PASSWORD=your_password CAMDIGIKEY_REDIRECT_URI=https://your-app.test/callback
✅ Store
.p12
files securely instorage/app/camdigi-key/
🧪 Usage
Example route to get a login token:
Route::get('/camdigikey/login-token', function () { return CamDigiKey::getLoginToken(); });
Or in a controller:
$token = CamDigiKey::getLoginToken(); $access = CamDigiKey::getUserAccessToken($authToken);
All supported methods:
getLoginToken()
getUserAccessToken($authToken)
refreshUserAccessToken($accessToken)
logoutAccessToken($accessToken)
validateJwt($accessToken)
lookupUserProfile($accessToken, $personalCode)
verifyAccountToken($accountToken)
getOrganizationAccessToken()
getUserFace($accessToken)
🧹 Artisan Setup Command (Optional)
Automatically run during install:
php artisan camdigikey:setup
This clones the CamDigiKey Node.js SDK into the expected path.
🔐 Security
- Never expose
.p12
files in public directories .gitignore
all private keystores- If you discover any security issues, please email puthea.khem at gmail.com instead of using the issue tracker.
Support Me
If you find this package useful, consider supporting my work:
📄 License
The MIT License (MIT). Please see License File for more information.
Built with ❤️ by Puthea khem