TD;DR
📣 Announcement 📣
The Factorlabs Bank mobile 📱 application is now available.
The primary purpose is to demonstrate the business cases for Verifiable Credentials.
Visit the Factorlabs VC Bank on the Google Store at https://play.google.com/store/apps/details?id=eu.factorlabs.android.bank.wallet
Details
The Verified ID service was used to build a payment system.
Big Picture
Actors
Bank Customer
- Uses Factorlabs VC Bank Application on the Android device.
- Can create a bank account.
- Can use bank account to pay via supported eCommerce websites.
Bank System
- Can create a bank account for the customer.
- Can transfer money between accounts to support the payment process.
- Can return account balance.
eCommerce Websites
- Can ask for the bank account number.
- Can receive the payment.
Demo overview
Key Features
- VC Wallet - based on the Entra Verified ID SDK we build a native mobile application (Android) that allows users to store and manage their Verifiable Credentials. As this is a custom implementation (VC Wallet), the journey is fully customized to the needs of the Factorlabs Bank.
- VC Issuer - the Factorlabs Bank can issue Verifiable Credentials for users. The process is fully automated, and the user can receive the VC in a few seconds. The current flow is in the alpha state, and I will update you on the progress.
- VC Verifier/Presentation - with two simple, dedicated eCommerce websites: Art Gallery and Lunch Place. You can present your Bank Account Number (Verifiable Credential) and pay.
Technical Components - Azure Services
- Azure App Service - to host the Factorlabs Bank API & eCommerce Websites.
- Entra Verified ID - to issue and verify Verifiable Credentials.
- Azure Cosmos DB - to store the bank accounts and transactions.
- Entra ID - to use Service Principal & parent for Verified ID service.
Technical details
Please check my blog post about Entra Verified ID.
Try on your own
Please check “Verified ID Workshop”: https://github.com/mjendza/workshop-verified-id
With a few simple steps, and 3-5 lines of code changes you can run a full scenario with Entra Verified ID and Verifiable Credentials.
Next Steps
- Improve onboarding process - VC Issuance process to support account recovery process - most probably with email address.
- Android App integration with Azure AD B2C - passwordless solution with a dedicated application from mobile, web and mobile-browser.
History
- First Commit: 07-07-2023
- First Android Commit: 03-04-2024
- Total Merged PRs: 157
- Languages: JavaScript (with JQuery), HTML, CSS, Kotlin, Java, C#
Android changes
Challenges
- To make a public Android App in the Google Store I’m needed to keep the tests for 14 days with 20 active users. Thank you for all the testers!
- Azure Subscription to deploy services.
Links
- Google Store Factorlabs VC Bank: https://play.google.com/store/apps/details?id=eu.factorlabs.android.bank.wallet
- Test my other scenarios https://vc.factorlabs.pl/
- Try Azure AD B2C with VC https://portal.factorlabs.pl/ and other Identity Providers