At WSO2, I led the architectural design and development of an open source SDK for Android called "asgardeo-android." The goal was to let Android developers integrate the "App-native authentication" feature of Identity Server and Asgardeo into their applications without having to deal with browser redirects. This was a big deal because app-native auth gives users a seamless login experience that feels native to the app rather than bouncing them to an external browser.
I designed the SDK with a four-layer architecture to keep things clean and maintainable. The Provider Layer is the public API surface — this is what developers actually interact with. The Core Config Layer handles discovery endpoints and manual configuration. The Core Layer contains the actual implementation, including authentication handlers and token lifecycle management through AppAuth. And the Data Layer handles persistent token storage using Android Datastore.
The SDK is split into three modules: asgardeo-android (the main dependency aggregator), asgardeo-android-core (core logic without UI), and asgardeo-android-core-auth-direct (the app-native authentication implementation). This modular approach means developers can pull in only what they need.
App-native authentication — no browser redirects, the entire login flow happens inside the app.
OIDC authentication via Asgardeo CIAM with full token management.
Passkey support for devices running API 34 and above.
Google Credential Manager integration for streamlined sign-in.
Client attestation and persistent token storage using Android Datastore.
Android (Kotlin), Jetpack Compose, Figma, GitHub Actions, Maven Central, Asgardeo
The SDK is published on Maven Central and the documentation site is live. I also built a demo application that was used to showcase the SDK at international conferences targeting potential customers and clients. Beyond the code, I set up GitHub Actions workflows to validate PR builds and automate SDK releases to Maven Central, making the whole release process much smoother for the team going forward.
The presentation below goes into detail about the App-native authentication feature and how the SDK works. You can start from slide 27 for the Android SDK specific content.