Authentication¶
Self provides a secure authentication workflow that allows users to authenticate themselves using their biometrics. This workflow can be used in a variety of scenarios, such as:
- Secure login for web applications
- Secure login for mobile applications
- Secure login for desktop applications
Try Authentication¶
Experience authentication in action with our demo applications. Each app demonstrates real-world authentication workflows with Self SDK.
Platform | Quick Install | Source Code |
---|---|---|
Mobile - Android | Download from Play Store | View Source |
Mobile - iOS | Download from App Store | View Source |
Server - Golang | docker run -it ghcr.io/joinself/self-sdk-demo:go | View Source |
Server - Java | docker run -it ghcr.io/joinself/self-sdk-demo:java | View Source |
Quick Start¶
- Start a server - Use the Docker links above to run a Golang or Java server
- Install mobile app - Download the Android or iOS app using the links above
- Register Self account - Open the mobile app and follow the registration prompts
- Connect to server - Enter the server identifier into the mobile app to establish connection
- Test authentication - Follow the prompts in the mobile app to authenticate to the server
How to build an authentication workflow¶
You can build a simple secure authentication workflow with Self using just a few key features. Let's break down the process into steps:
1. Server: Credential Presentation Request¶
The server builds a new request asking the user to provide their liveness credential, which is verifiable evidence that they are a real person, and also the same real person who registered the account. The server then sends this request to the user.
2. Client: Handle Credential Request¶
Listen for liveness requests, display the request UI, and accept the request. Once accepted, the Liveness flow will begin and send the response back to the requesting server.
You can find the full example at https://github.com/joinself/self-sdk-examples/blob/main/android/credential/src/main/java/com/joinself/example/MainActivity.kt
3. Server: Validating Credentials¶
After receiving the credential presentation response, we need to validate the credentials. This involves checking the presentation's validity, the credential's validity, and extracting the claims.
Conclusion¶
Integrating authentication with the Self SDK enables you to provide secure, passwordless, and privacy-preserving login experiences for your users. By leveraging liveness detection and verifiable credentials, you ensure that only real, verified users can access your application—without the risks and friction of traditional authentication methods.
With pre-built UI components and cross-platform support, adding advanced authentication to your app is straightforward and efficient.
Explore the demo apps and source code to see Self authentication in action, and start building secure, user-friendly authentication flows in your own projects today.
For further details and advanced use cases, refer to the Essentials section or browse our examples repository for working implementations.