Skip to content

feat: passkey (WebAuthn) linking support#2

Open
bergpinheiro wants to merge 1 commit into
devlikeapro:devfrom
bergpinheiro:feat/passkey
Open

feat: passkey (WebAuthn) linking support#2
bergpinheiro wants to merge 1 commit into
devlikeapro:devfrom
bergpinheiro:feat/passkey

Conversation

@bergpinheiro

Copy link
Copy Markdown

What

Adds gRPC support for WhatsApp's passkey (WebAuthn) pairing step, which the
server now requires on some accounts instead of a plain QR code.

Changes

  • proto/gows.proto: two new RPCs on MessageService
    • SubmitPasskeyResponse(PasskeyResponseRequest) → Empty
    • ConfirmPasskey(Session) → Empty
    • new PasskeyResponseRequest message (session + response_json)
  • src/server/passkey.go: handlers that relay to whatsmeow's
    SendPasskeyResponse / SendPasskeyConfirmation.

The inbound challenge is already carried by the existing QRChannelItem
event (passkey-request / passkey-confirmation), so no extra streaming
work is needed on the gows side.

Dependency

Requires a whatsmeow version that includes the passkey support from
tulir/whatsmeow (PR #1186). The go.mod replace currently points at a
fork that already has those commits so the branch builds and can be
reviewed — please point it at your own whatsmeow once it carries the
passkey commits.

Context

WhatsApp began requiring passkey/WebAuthn to link a device on some
accounts. whatsmeow exposes the pairing API; this PR surfaces it over the
gows gRPC interface so integrators (WAHA, etc.) can drive it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant