Short answer: you can host your login UI on any domain(s), but Hydra itself has a single configured login URL at a time. To support multiple domains, front your login app and route per-tenant/domain, or switch the configured login URL per environment. What’s configurable: - Set the login and consent endpoints to your app: urls.login and urls.consent. Hydra redirects users there with a login_challenge/consent_challenge; your app completes the flow and returns the verifier. You can point these to your own domain(s) (e.g.,
https://login.example.com/login). ([Custom login/consent flow](
https://www.ory.sh/docs/oauth2-oidc/custom-login-consent/flow#flow-steps), [Configure Hydra URLs](
https://www.ory.sh/docs/hydra/guides/custom-ui-oauth2#configure-ory-network)) How to handle multiple domains: - Run a single login/consent app that serves multiple brands/domains and decides which UI to render based on request host, client_id, or requested audience, then accepts the challenge back to Hydra. Hydra only needs one urls.login; the app can serve many domains. ([Custom login/consent flow](
https://www.ory.sh/docs/oauth2-oidc/custom-login-consent/flow)) - Ensure correct CORS and cookie settings on your login/consent app domains. Hydra’s own endpoints support CORS; note /oauth2/auth is not CORS-enabled by design. Configure allowed origins as needed. ([Hydra CORS](
https://www.ory.sh/docs/hydra/guides/cors)) Notes: - The issuer in Hydra is single-valued per deployment; use one OIDC issuer while your login/consent UIs can be on different domains since they are just redirects. (Not explicitly stated in sources for multi-issuer; sources only cover redirecting to custom login/consent UIs.) - For Ory Network (managed), you can set custom login/consent URLs similarly; multi-domain per-brand configs are under active work. ([Configure Ory Network](
https://www.ory.sh/docs/hydra/guides/custom-ui-oauth2#configure-ory-network), [Per-domain config issue](
https://github.com/ory/network/issues/374)) If you need truly separate login URLs per domain at the Hydra config level, the knowledge sources do not describe a built-in per-domain urls.login switch; use an app/router in front to multiplex domains.