Skip to content

v2.5.2 — Identity🫆Login: LNURL-auth & NFC tap

Choose a tag to compare

@AxelHamburch AxelHamburch released this 28 Jun 18:11
· 31 commits to main since this release

What's new since v2.3.0

This release bundles all changes from v2.4.0 through v2.5.2.


LNURL-auth — Identity Login via Lightning Wallet (v2.4.0)

ZapBox can now recognise a known Lightning wallet and trigger a relay — without any payment. The wallet signs a one-time challenge (LNURL-auth / LUD-04); the server verifies the signature and fires the relay.

  • New teach mode: 6-tap gesture on the device opens a PIN-gated enrolment screen; the wallet scans a QR code to register its public key
  • Up to 3 failed teach-PIN attempts lock the teach access (unlockable in LNbits)
  • Teach session auto-expires after 5 minutes
  • Each k1 challenge is single-use and valid for ~120 seconds

NFC Identity Login — NTAG 424 DNA / Bolt Ring (v2.5.0)

In addition to wallet login, ZapBox now supports NFC card authentication (Bolt Card, Bolt Ring, or any NTAG 424 DNA card):

  • New /api/v1/nfc/auth/ endpoint: verifies tap via tagid_extension, triggers relay WebSocket on a known card
  • New /api/v1/nfc/teach/ endpoint: enrols a card during teach mode
  • Management API for enrolled NFC identities (GET/PUT/DELETE /api/v1/nfc/identities/…)
  • UI: TagID base URL + invoice key fields and enrolled-cards list in the instance editor

Both methods run in parallel — the LNURL-auth QR is always visible while the NFC reader listens simultaneously.


Instance editor UI redesign (v2.5.0 → v2.5.2)

The Identity Login section was fully restructured for clarity:

  • Section is collapsed by default; a single toggle expands all sub-content
  • Teach mode toggle and Teach-PIN (6 digits) shown side by side
  • LNURL-auth Identities and NFC Identities are clearly separated into named sub-sections
  • Section now appears correctly when creating a new ZapBox instance (was hidden during creation)
  • Label updated from "NTAG424" to "NFC Tag"

Bug fixes

  • bech32 LNURL-auth fix (v2.4.3): wallets received the raw URL instead of the bech32 lnurl1… string — auth flow was not recognised. Fixed: .bech32 property is now used correctly.
  • Migration fix (v2.4.1): CREATE UNIQUE INDEX zapbox.auth_key failed on SQLite (schema-qualified syntax not supported). Replaced with inline UNIQUE constraint in CREATE TABLE.

Compatibility

Component Required version
tagid_extension v2.1.0+ (for NFC Identity Login)

Upgrade notes

Migrations run automatically on install. If upgrading from a version before v2.4.1 that left a partial auth_key table, the migration drops and recreates it cleanly.