PHP code example of atlas-auth / atlas-php
1. Go to this page and download the library: Download atlas-auth/atlas-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/ */
atlas-auth / atlas-php example snippets
use Atlas\Client;
$atlas = new Client('sk_live_…');
$user = $atlas->users->get('user_123');
$page = $atlas->users->list(['limit' => 50]);
foreach ($page['data'] as $u) { /* … */ }
$org = $atlas->organizations->create(['name' => 'Acme', 'slug' => 'acme'], idempotencyKey: 'req-1');
$atlas->sessions->revoke('sess_123');
use Atlas\Pagination;
foreach (Pagination::iterate([$atlas->users, 'list']) as $user) {
// walks every cursor page
}
use Atlas\Exception\NotFoundException;
use Atlas\Exception\AtlasApiException;
try {
$atlas->users->get('user_missing');
} catch (NotFoundException $e) {
// 404
} catch (AtlasApiException $e) {
$e->getStatus(); // int HTTP status
$e->getErrorCode(); // stable machine code, e.g. "LAST_ADMIN"
$e->hasCode('LAST_ADMIN');
$e->getErrors(); // full §9.1 error envelope
}
use Atlas\Verify\SessionVerifier;
$verifier = new SessionVerifier(
jwksUrl: 'https://auth.yourdomain.com/.well-known/jwks.json',
issuer: 'https://auth.yourdomain.com',
authorizedParties: ['https://app.example.com'], // optional azp allowlist
);
// Verify whatever the request carries (Authorization header or __session cookie).
$result = $verifier->authenticateRequest(getallheaders());
if (!$result->ok) {
http_response_code(401);
exit;
}
$userId = $result->claims['sub'];
// Authorization helpers, bound to the verified claims:
if ($result->has(['permission' => 'billing:read'])) { /* … */ }
$result->protect(['role' => 'admin']); // throws Atlas\Verify\ForbiddenException on failure
$verifier = new SessionVerifier(
jwksUrl: '…',
issuer: '…',
secretKey: 'sk_live_…', // );
Route::get('/billing', BillingController::class)
->middleware(['atlas.auth', 'atlas.permission:billing:read']);
// a role: prefix min']); // throws ForbiddenException → 403
// config/bundles.php
Atlas\Symfony\AtlasBundle::class => ['all' => true],
bash
composer