PhoneNumberVerificationHandler

The contract a host implements to verify a phone number with its own backend.

The library deliberately ships no implementation of this interface. There is no bundled "demo" or in-memory verifier, because a fake that accepts 123456 is the kind of thing that reaches production. Verification is entirely opt-in: pass a handler and the phone field grows a verification affordance; pass nothing and the picker works exactly as before.

Implementations own all transport concerns — endpoints, auth, retry, rate limiting, Firebase Auth or SMS-gateway specifics. The library only sequences the calls and renders the resulting PhoneVerificationState. Nothing in this interface touches Compose, so it can live in a data module and be unit-tested without Android.

All three functions are called from a coroutine the caller controls and may suspend for as long as the network takes; the UI shows progress meanwhile and blocks duplicate requests.

Functions

Link copied to clipboard

Requests a verification code be sent to phoneNumber.

Link copied to clipboard
abstract suspend fun resendCode(verificationId: String): VerificationRequestResult

Re-sends the code for an existing challenge.

Link copied to clipboard
abstract suspend fun verifyCode(verificationId: String, code: String): VerificationResult

Checks code against the challenge identified by verificationId.