Branding
Custom domains
Serve sign-in from your own domain, such as login.example.com, with automatic TLS.
Serve sign-in from your own domain, such as login.acme.com. Users trust a sign-in page on your domain more, password managers match it to your product, and 9in's cookies are first-party for your site.
#Add a domain
Custom Domains → Add domain: enter the hostname, e.g.
login.acme.com.At your DNS provider, add the record the console shows:
Type Name Value CNAME login.acme.comcname.9in.ioThe console may also show an optional TXT record that proves ownership before you switch the CNAME, so there's no gap when you move a hostname that is already in use.
Wait for Active. 9in checks every 5 minutes; the certificate is issued and renewed automatically.
The number of custom domains depends on your plan.
#What changes
- The issuer for requests on that host is
https://login.acme.com: tokens issued there haveiss: https://login.acme.com, and discovery is athttps://login.acme.com/.well-known/openid-configuration. Point your apps at it, and verify tokens with that issuer. - The
*.9in.iohostnames keep working, with their own issuer. A token'sissis the host it was issued on, so don't mix them in one app. - Users, sessions and keys are the same on every hostname of the tenant.
#Update your configuration
- Social and enterprise providers using your own OAuth apps: add
https://login.acme.com/oauth/social/callbackandhttps://login.acme.com/oauth/enterprise/callbackto the redirect URIs there. - Bot protection: Turnstile checks hostnames, so custom domains need your own Turnstile widget (site key and secret key, Security → Bot protection).
- Your apps: use the new issuer, and add the new logout and callback URLs if they changed.