VerifyBlind Android SDK'sını (sdk-android) tüketen örnek uygulama — example-mobile-ios'in Android
karşılığı. Bir partner'ın VerifyBlind'i kendi uygulamasına nasıl entegre edeceğini gösterir.
- Bundle ID / paket:
com.verifyblind.example - Mağaza/görünen ad: VerifyBlind Demo
- SDK:
verifyblind-sdk-android— Maven Central'dancom.verifyblind:verifyblind-android:1.0.1 - Cihaz attestation'ı YOKTUR (bilinçli: VerifyBlind'in zero-knowledge güvenliğinin parçası değil)
- "VerifyBlind ile Doğrula" → SDK ephemeral RSA keypair üretir, partner backend'inden bir
noncealır. - SDK, VerifyBlind uygulamasını App Link ile açar (
app.verifyblind.com/request?...). - Kullanıcı doğrulamayı VerifyBlind'de tamamlar; bu demo'ya dönünce sonuç poll edilir ve şifreli yanıt lokalde çözülür.
- Sonuçtaki
token(enclave'in imzaladığı ham yanıt) partner backend'in doğrulama ucuna (.../api/verify) gönderilir. Sunucu imzayı enclave public key'iyle doğrular, nonce'u bir kez tüketir ve sonucu kendi sorduğu koşula göre okur; ekranda "Sunucu doğruladı" ya da "Sunucu reddetti" görünür. Karar telefonda verilmez.
VerifyBlind, doğrulama bitince (başarı veya iptal) kullanıcıyı bu demo'ya geri getirir:
- SDK'ya geri-dönüş URL'i geçilir:
startAuthentication(..., returnUrl = "verifyblinddemo://callback"). verifyblinddemoşemasıAndroidManifest.xml'de kayıtlıdır:<data android:scheme="verifyblinddemo" android:host="callback" />.- Aynı şema Partner Portal → Ayarlar → Uygulama Geri-Dönüş Şeması'na (
verifyblinddemo) yazılmalıdır — VerifyBlind yalnızca şeması kayıtlıyla eşleşen return URL'i açar (fail-closed, açık-yönlendirme önlemi).
Bitince VerifyBlind verifyblinddemo://callback?nonce=..&status=success (ya da status=cancelled) açar →
demo öne gelir ve sonucu poll eder.
- Bu repo'yu klonlayın. SDK Maven Central'dan otomatik indirilir; başka bir repo gerekmez.
- Android Studio'da açıp Gradle senkronize edin.
- Kendi partner backend'inizle denemek için
verifyblind.propertiesdosyasındakiVERIFYBLIND_PARTNER_BACKEND_URLdeğerini değiştirin.
Adım adım kurulum (Play yükleme dahil):
developer_setup_guide.md.
🌐 verifyblind.com · 📦 Android SDK · 🍎 iOS demo
An example app that consumes the VerifyBlind Android SDK (sdk-android) — the Android counterpart of
example-mobile-ios. It shows how a partner integrates VerifyBlind into their own app.
- Bundle ID / package:
com.verifyblind.example - Store / display name: VerifyBlind Demo
- SDK:
verifyblind-sdk-android— from Maven Central ascom.verifyblind:verifyblind-android:1.0.1 - No device attestation (intentional: it is not part of VerifyBlind's zero-knowledge security)
- "Verify with VerifyBlind" → the SDK generates an ephemeral RSA keypair and gets a
noncefrom the partner backend. - The SDK opens the VerifyBlind app via an App Link (
app.verifyblind.com/request?...). - The user completes verification in VerifyBlind; back in this demo the result is polled and the encrypted response is decrypted locally.
- The
tokenin the result (the raw response signed by the enclave) is sent to the partner backend's verify endpoint (.../api/verify). The server checks the signature with the enclave public key, consumes the nonce once and reads the result against the condition it asked; the screen shows "Verified by server" or "Rejected by server". The decision is not made on the phone.
VerifyBlind brings the user back to this demo when the flow ends (success or cancel):
- Pass a return URL to the SDK:
startAuthentication(..., returnUrl = "verifyblinddemo://callback"). - The
verifyblinddemoscheme is registered inAndroidManifest.xml:<data android:scheme="verifyblinddemo" android:host="callback" />. - The same scheme must be set in Partner Portal → Settings → App Return Scheme (
verifyblinddemo) — VerifyBlind only opens a return URL whose scheme matches the registered one (fail-closed, prevents open-redirect).
When done, VerifyBlind opens verifyblinddemo://callback?nonce=..&status=success (or status=cancelled),
foregrounding the demo, which then polls for the result.
- Clone this repo. The SDK is downloaded from Maven Central automatically; no other repo is needed.
- Open in Android Studio and sync Gradle.
- To try it with your own partner backend, change
VERIFYBLIND_PARTNER_BACKEND_URLinverifyblind.properties.
Step-by-step setup (including Play upload):
developer_setup_guide.md.
🌐 verifyblind.com · 📦 Android SDK · 🍎 iOS demo
Apache License 2.0 — bkz. / see LICENSE.