Simplify public URL configuration to just one option: public_url in the general section.
Public server URL can be also supplied via PUBLIC_URL environment variable.
All necessary public URLs (login page, public API, OpenID Connect API, WebAuthn issuer name ...) are derived from public_url in canonical deployments.
Breaking change guide
Remove the obsolete config option public_api_base_url.
Add option public_url in the [general] config section. In most cases, its value should be the same as public_api_base_url but without the path component (e.g. public_url=https://example.com instead of public_url=https://example.com/auth/api). Or you can set the public URL value using the PUBLIC_URL environment variable, if you prefer.
If your auth_webui_base_url path is /auth, you can remove this option because /auth is the default value.
If your deployment does not use canonical paths (for Seacat Auth APIs and/or login UI), you can specify your custom paths using the options public_seacat_auth_base_url and public_openidconnect_base_url.
The minimal recommended config can look like
[general]
public_url=https://auth.example.com/
which is equivalent to setting PUBLIC_URL=https://auth.example.com.
For non-canonical deployments the config may be for example
post-fix to #328
Summary
public_url
in thegeneral
section.PUBLIC_URL
environment variable.public_url
in canonical deployments.Breaking change guide
public_api_base_url
.public_url
in the[general]
config section. In most cases, its value should be the same aspublic_api_base_url
but without the path component (e.g.public_url=https://example.com
instead of). Or you can set the public URL value using thepublic_url=https://example.com/auth/api
PUBLIC_URL
environment variable, if you prefer.auth_webui_base_url
path is/auth
, you can remove this option because/auth
is the default value.public_seacat_auth_base_url
andpublic_openidconnect_base_url
.The minimal recommended config can look like
which is equivalent to setting
PUBLIC_URL=https://auth.example.com
.For non-canonical deployments the config may be for example
Configuration details
[general] public_url
PUBLIC_URL
environment variable.http://localhost
(but produces a warning on app initialization if the default is used).[general] public_seacat_auth_base_url
api/seacat-auth/
(which is expanded to${PUBLIC_URL}/api/seacat-auth/
).https://example.com/api/seacat-auth/public/login
.[general] public_openidconnect_base_url
api/
(which is expanded to${PUBLIC_URL}/api/
)https://example.com/api/openidconnect/authorize
.[general] auth_webui_base_url
auth/
(which is expanded to${PUBLIC_URL}/auth/
).https://example.com/auth/#/login
.