A standard single-host embedded-AS deployment needs two OAuth keys.
A production install typically adds a third
(OAuthAsIniFile) to keep AS state outside the redeploy
surface.
OAuthAuthorizationServerRequired. The canonical public URL of the OwnSona server, with
scheme (e.g. https://ownsona.example.com). This single URL
drives several derived defaults: the resource identifier, the AS
issuer, and the JWKS URI all derive from it unless explicitly
overridden. No trailing slash — the validator trims it but
matching is easier to reason about when the configured value is
canonical.
OAuthAsEnabledRequired for the embedded AS. Set to true to turn on
the AS endpoints (/oauth/authorize, /oauth/token,
/oauth/register, /oauth/jwks, and the metadata
documents under /.well-known/). When unset or false, the
endpoints return 404.
OAuthAsIniFileDefault oauth.ini, resolved against the application root
(WEB-INF/backend/ in the deployed Tomcat). Strongly
recommended for production: set this to an absolute path outside
the deployed webapp, e.g. /home/ownsona/oauth.ini or
/var/lib/ownsona/oauth.ini. Without that, every WAR redeploy
rewrites the file, silently rotating the AS signing key and forcing
every MCP client through the browser OAuth flow again. See
Installation for the full discussion.
OAuthRequiredScopesOptional comma- or space-separated list of scopes every access token must carry. Empty (the default) means “any token signed by the AS for the right audience is accepted.” Single-user installs typically leave this empty.
OAuthResourceIdentifierOptional override for the value tokens must carry as aud.
Defaults to OAuthAuthorizationServer. Set this if you want
tokens bound to a more specific URL (e.g.
https://your-host/mcp).
OAuthAsIssuerOptional override for the AS issuer URL announced in the metadata
document. Defaults to OAuthAuthorizationServer.
OAuthJwksUriOptional override for the JWKS URL the resource server fetches keys from. Default is auto-discovered from the AS’s RFC 8414 metadata. Set this only when pointing the RS at an AS that publishes neither RFC 8414 nor OIDC discovery (rare).
OAuthAccessTokenTtlSecondsDefault 3600 (1 hour). Longer-lived tokens are harder to
revoke; shorter ones force more frequent refresh exchanges.
OAuthRefreshTokenTtlSecondsDefault 2592000 (30 days). When this elapses the client
transparently opens the browser again for re-login.
OAuthAllowDynamicRegistrationDefault true. Disabling this breaks every modern MCP client
that registers itself via RFC 7591.