What stays the same
- TinyCloud still uses SIWE
- TinyCloud still derives identity from an Ethereum address
- TinyCloud still issues the session after a valid signature
What OpenKey provides
- A browser-friendly signer
- Passkey authentication
- A path that does not require MetaMask or another wallet extension
Working example
Why this shape
@tinycloud/web-sdk 3.0 signs through a raw EIP-1193 provider: it calls
provider.request() directly. OpenKeyProvider is an EIP-1193 provider that
answers eth_accounts, eth_requestAccounts, eth_chainId, personal_sign,
and eth_signTypedData_v4 with the connected OpenKey key, so pass it as is.
TinyCloud-specific advice
- Keep the OpenKey host separate from the TinyCloud host
- Pass the provider as
provider;providers.web3.driverstill works and takes the same raw EIP-1193 object - Treat this as a sign-in flow, not an OAuth flow
Verified against
@openkey/sdk 0.10.2 and @tinycloud/web-sdk 3.0.0.