Add headless Nostr launcher page for the mobile app

A direct ACTION_VIEW intent to nostrsigner: (Browser::open from the app)
lacks category.BROWSABLE, so Amber routes it into its app-to-app path
and rejects it as malformed. The app instead opens /auth/mobile/nostr in
an in-app browser; that page fires the signer via window.location, so
the intent carries BROWSABLE and Amber uses its web-signing flow. No
visible login UI, local signing, token returned via the App Link.
This commit is contained in:
HolgerHatGarKeineNode
2026-06-11 22:08:17 +02:00
parent 64a5fcd9f1
commit 58c7e410b0
3 changed files with 82 additions and 0 deletions
+6
View File
@@ -44,6 +44,12 @@ Route::livewire('/auth/mobile', 'auth.mobile-login')
->middleware('throttle:30,1')
->name('auth.mobile');
// Headless Nostr launcher: opened by the app in an in-app browser, fires
// the NIP-55 signer (Amber) with category.BROWSABLE via window.location.
Route::get('/auth/mobile/nostr', [MobileAuthController::class, 'nostrLauncher'])
->middleware('throttle:30,1')
->name('auth.mobile.nostr');
Route::get('/auth/mobile/complete/{k1}', [MobileAuthController::class, 'complete'])
->where('k1', '[a-f0-9]{64}')
->middleware('throttle:30,1')