VerifyBlind'i bir PHP web sitesine nasıl entegre edeceğinizi gösteren örnek (PHP + Apache).
example-web-nextjs ve example-web-dotnet ile aynı akışın PHP sürümüdür.
- Sunucu-taraflı proxy — Tarayıcı
POST /api/generate.phpçağırır; sunucuX-API-Key'i ekleyip VerifyBlindPOST /api/pop/generate'e iletir ve birnoncedöner. API anahtarı tarayıcıya hiç gösterilmez. (api/generate.php) - Doğrulama — Kullanıcı QR'ı VerifyBlind mobil ile okutur (
send2mobile.php); doğrulama bitince partner'a imzalı bir token döner. - İmza kontrolü —
api/verify.phptoken'ı alır, enclave public key'i ile RSA-PSS imzasını doğrular ve nonce'u tek-kullanımlık tüketir (api/nonce-store.php).
# Docker (önerilen):
docker build -t verifyblind-php .
docker run -p 8080:80 \
-e TEST_VERIFYBLIND_API_KEY=<partner API anahtarınız> \
-e VERIFYBLIND_API_URL=https://api.verifyblind.com \
verifyblind-php
# → http://localhost:8080Ortam değişkenleri docroot dışından .env'den de okunur (sentry-bootstrap.php).
🌐 verifyblind.com · 🧩 Next.js örneği · 🧩 .NET örneği
An example of integrating VerifyBlind into a PHP website (PHP + Apache). It is the PHP version of the
same flow as example-web-nextjs and example-web-dotnet.
- Server-side proxy — The browser calls
POST /api/generate.php; the server adds theX-API-Keyand forwards it to VerifyBlindPOST /api/pop/generate, returning anonce. The API key is never exposed to the browser. (api/generate.php) - Verification — The user scans the QR with VerifyBlind mobile (
send2mobile.php); on success a signed token is returned to the partner. - Signature check —
api/verify.phptakes the token, verifies the RSA-PSS signature with the enclave public key, and consumes the nonce once (api/nonce-store.php).
# Docker (recommended):
docker build -t verifyblind-php .
docker run -p 8080:80 \
-e TEST_VERIFYBLIND_API_KEY=<your partner API key> \
-e VERIFYBLIND_API_URL=https://api.verifyblind.com \
verifyblind-php
# → http://localhost:8080Environment variables can also be read from a .env file outside the docroot (sentry-bootstrap.php).
🌐 verifyblind.com · 🧩 Next.js example · 🧩 .NET example