verified-email

Implement verified email retrieval on Android using Credential Manager and OpenID4VP digital credentials.

3|Updated Aug 4, 2024
One-click install
npx skills add https://github.com/kabindra-shrestha/Clean-Architecture-Kotlin-Compose-Multiplatform --skill verified-email-kabindra-shrestha
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: verified-email
Source: https://github.com/kabindra-shrestha/Clean-Architecture-Kotlin-Compose-Multiplatform/tree/main/.agents/skills/identity/verified-email
Command: npx skills add https://github.com/kabindra-shrestha/Clean-Architecture-Kotlin-Compose-Multiplatform --skill verified-email-kabindra-shrestha

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Traditional email verification relies on OTPs or magic links, adding friction to sign-up, account recovery, and re-authentication flows. This Skill guides you through integrating Android's Credential Manager Digital Credentials API to retrieve cryptographically verified email addresses directly from the user's device, eliminating OTP steps. ## Core Features & Use Cases - OpenID4VP Request Construction: Build DCQL queries requesting UserInfoCredential claims like email, email_verified, and name in SD-JWT format. - Client-Side Integration: Initialize Credential Manager, present the system bottom sheet, and parse the vp_token response containing the SD-JWT. - Server-Side Validation Guidance: Verify the issuer, SD-JWT signature, nonce, and key binding on your backend before account creation. - Use Case: A user signs up for your app; instead of typing an email and waiting for an OTP, they tap once to share a Google-verified email, then optionally create a passkey for future sign-ins. ## Quick Start Ask the assistant to integrate verified email retrieval into your Android sign-up screen using Credential Manager and the Digital Credentials API.

Frequently Asked Questions about verified-email

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I implement verified email retrieval on Android?

Add the androidx.credentials dependencies, create a CredentialManager instance, build a GetCredentialRequest with a GetDigitalCredentialOption containing an OpenID4VP request JSON, and call getCredential(). Parse the returned DigitalCredential's credentialJson to extract the SD-JWT.

What is the difference between verified email and Sign in with Google?

Verified email via Digital Credentials works for sign-up, account recovery, and re-authentication without Google registration, and is Android-only. Sign in with Google supports OAuth scopes for accessing user data like Calendar or Drive, which Digital Credentials cannot request.

Does Android verified email work with Google Workspace accounts?

No, Google does not issue verifiable credentials for Google Workspace or supervised accounts. Only consumer Google Accounts are supported, and [email protected] addresses may need an additional OTP challenge for freshness.

What Android version is required for Credential Manager digital credentials?

The Digital Credentials Verifier API requires Android 9 (API level 28) or higher and Google Play services version 25.49.x or later. Devices below these versions cannot use the verified email flow.

Why is server-side validation required for verified email?

Client-side parsing is only for UI updates and is not secure. Your server must verify the issuer field, validate the SD-JWT signature against Google's public JWKs, check the nonce to prevent replay attacks, and confirm presenter identity via the cnf key binding.

Can verified email work inside an Android WebView?

Yes, but you must implement a JavaScript bridge so the WebView can signal the native app to call the Credential Manager API. The androidx.webkit library version 1.12.0 and later provides WebAuthentication support for this handoff.