DUE TO SPAM, SIGN-UP IS DISABLED. Goto Selfserve wiki signup and request an account.

DUE TO SPAM, SIGN-UP IS DISABLED. Goto Selfserve wiki signup and request an account.
...
| Code Block |
|---|
OauthLoginAPIAuthenticatorCmd.authenticate()
→ _apiServer.loginUser()
→ accountMgr.authenticateUser()
→ for (authenticator : _userAuthenticators)
→ OAuth2UserAuthenticator.authenticate()
→ GithubOAuth2Provider.verifyUser() |
Step 5: Login Page (External Tab) Behavior
response.listoauthproviderresponse.count > 0domain=<path>Other Changes
Admin commands — how providers get registered/updated/deleted
...
The oauth2.enabled config key uses a new strictScope mode in ConfigKey.valueInScope() to prevent automatic inheritance from global to domain scope. Each domain must explicitly set oauth2.enabled=true to enable OAuth login.
| Global oauth2.enabled | Domain oauth2.enabled | OAuth enabled for domain? |
|---|---|---|
| false | not configured | No |
| false | true | Yes |
| false | false | No |
| true | not configured | No (no global fallback) |
| true | true | Yes |
| true | false | No |
Key difference from standard ConfigKey behavior: without strict scope, an unconfigured domain inherits the global value. With strict scope, unconfigured domains return null which is treated as disabled. This ensures domains must explicitly opt in to OAuth.
...