Skip to content

Sign in with CoinPay: never link an existing account by CoinPay's email - #53

Merged
ralyodio merged 1 commit into
mainfrom
fix/coinpay-sub-binding
Oct 27, 2026
Merged

ralyodio merged 1 commit into
mainfrom
fix/coinpay-sub-binding

Conversation

@ralyodio

Copy link
Copy Markdown
Contributor

bridgeAccount links a first-time arrival to an existing board account by email when the provider claims email_verified. CoinPay never verifies emails (anyone can register a CoinPay account with someone else's address). Today @profullstack/bridges passes CoinPay's own email_verified through, which CoinPay currently always reports false, so the board was safe by CoinPay's current behaviour only (and TSBB_COINPAY_URL can point at another deployment).

Now the /auth/coinpay/callback route forces email_verified: false before bridgeAccount, so a CoinPay email never links to or takes over an existing account (or its admin flag). Linking stays by the CoinPay sub/DID; host bridges are unchanged.

Test: a CoinPay login claiming email_verified: true with an existing admin's address gets a new, non-admin account with a placeholder address. Full suite: 251 pass; tsc clean.

🤖 Generated with Claude Code

bridgeAccount links a first arrival to an existing board account by email when
the provider says email_verified. CoinPay never verifies emails, so the CoinPay
callback now always passes email_verified=false: a CoinPay login whose email is
an existing account's address gets its own account, never the victim's (or its
admin flag). Linking stays by the CoinPay sub/DID.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@ralyodio
ralyodio merged commit c17b95f into main Oct 27, 2026
4 checks passed
@ralyodio
ralyodio deleted the fix/coinpay-sub-binding branch October 27, 2026 03:55
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