Skip to content

About

Demo app consuming the VerifyBlind Android SDK — shows how a partner integrates VerifyBlind into their own Android app (com.verifyblind.example).

Topics

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

VerifyBlind Demo (Android)

🇹🇷 Türkçe · 🇬🇧 English


Türkçe

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'dan com.verifyblind:verifyblind-android:1.0.1
  • Cihaz attestation'ı YOKTUR (bilinçli: VerifyBlind'in zero-knowledge güvenliğinin parçası değil)

Akış

  1. "VerifyBlind ile Doğrula" → SDK ephemeral RSA keypair üretir, partner backend'inden bir nonce alır.
  2. SDK, VerifyBlind uygulamasını App Link ile açar (app.verifyblind.com/request?...).
  3. Kullanıcı doğrulamayı VerifyBlind'de tamamlar; bu demo'ya dönünce sonuç poll edilir ve şifreli yanıt lokalde çözülür.
  4. 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.

Uygulamaya geri dönüş (deeplink)

VerifyBlind, doğrulama bitince (başarı veya iptal) kullanıcıyı bu demo'ya geri getirir:

  1. SDK'ya geri-dönüş URL'i geçilir: startAuthentication(..., returnUrl = "verifyblinddemo://callback").
  2. verifyblinddemo şeması AndroidManifest.xml'de kayıtlıdır: <data android:scheme="verifyblinddemo" android:host="callback" />.
  3. 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.

Çalıştırma

  1. Bu repo'yu klonlayın. SDK Maven Central'dan otomatik indirilir; başka bir repo gerekmez.
  2. Android Studio'da açıp Gradle senkronize edin.
  3. Kendi partner backend'inizle denemek için verifyblind.properties dosyasındaki VERIFYBLIND_PARTNER_BACKEND_URL değerini değiştirin.

Adım adım kurulum (Play yükleme dahil): developer_setup_guide.md.

🌐 verifyblind.com · 📦 Android SDK · 🍎 iOS demo


English

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 as com.verifyblind:verifyblind-android:1.0.1
  • No device attestation (intentional: it is not part of VerifyBlind's zero-knowledge security)

Flow

  1. "Verify with VerifyBlind" → the SDK generates an ephemeral RSA keypair and gets a nonce from the partner backend.
  2. The SDK opens the VerifyBlind app via an App Link (app.verifyblind.com/request?...).
  3. The user completes verification in VerifyBlind; back in this demo the result is polled and the encrypted response is decrypted locally.
  4. The token in 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.

Returning to your app (deeplink)

VerifyBlind brings the user back to this demo when the flow ends (success or cancel):

  1. Pass a return URL to the SDK: startAuthentication(..., returnUrl = "verifyblinddemo://callback").
  2. The verifyblinddemo scheme is registered in AndroidManifest.xml: <data android:scheme="verifyblinddemo" android:host="callback" />.
  3. 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.

Running

  1. Clone this repo. The SDK is downloaded from Maven Central automatically; no other repo is needed.
  2. Open in Android Studio and sync Gradle.
  3. To try it with your own partner backend, change VERIFYBLIND_PARTNER_BACKEND_URL in verifyblind.properties.

Step-by-step setup (including Play upload): developer_setup_guide.md.

🌐 verifyblind.com · 📦 Android SDK · 🍎 iOS demo


Lisans · License

Apache License 2.0 — bkz. / see LICENSE.

About

Demo app consuming the VerifyBlind Android SDK — shows how a partner integrates VerifyBlind into their own Android app (com.verifyblind.example).

Topics

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages