Sign in with Google, Apple or a passkey. No domain or certificate needed.
Real login buttons for your smart-home hub, NAS, photo library, or a cloud VM nobody put a domain on. Your app only makes outbound requests; the login page runs on MyLogin.world, which hands back a signed result.
Free for personal use. No password database, no OAuth app to register, no certificate to renew.
Login buttons you can add today
- Passkeys
- Apple
- Microsoft
- GitHub
- Amazon
- Discord
- GitLab
- OpenID Connect (custom)
- ORCID
- Slack
- Twitch
- All providers →
Works wherever your app is
OAuth providers and passkeys want a public HTTPS address. Most small deployments never get one. With MyLogin.world they do not need one.
http://homeassistant.local:8123Home Assistant, Hubitat, openHABhttps://192.168.1.20Raspberry Pi or NAS, self-signedhttps://34.120.4.9Marketplace appliance on GCP or AWS, IP onlyhttp://10.0.0.5:8080Docker on a VM behind NATThree steps
- 1Install and register, once
npm install @mylogin/sdk npx @mylogin/sdk init --token <installation token> - 2Users click Sign in
They land on a MyLogin.world page with the providers you enabled, sign in there, and come back.
- 3Your app fetches the signed result
Over the same outbound connection. It verifies the signature and keeps its own session; MyLogin.world is not on the request path.
Why this exists
We run a lot of small things: a Home Assistant hub, a photo library, a NAS, a couple of VMs. Each deserved a real login and none had a domain. So we built the missing piece and opened it to everyone.
Personal use is free, passkeys and MFA included. Running a lot of services? Supporter is $5 a year, less than a frappuccino.
Get started freeIncluded on every plan
- Passkeys: Face ID, Touch ID, Windows Hello
- Authenticator apps and recovery codes
- Allowlists, approvals, and blocking
- Your own provider credentials
- Audit log and security alerts
- Any address: LAN IP, .local, or public IP