{"record":{"id":"1209162da1ca5e42","repo":"Tencent/WeKnora","slug":"oidc-login-is-disabled","errorCode":null,"errorMessage":"OIDC login is disabled","messagePattern":"OIDC login is disabled","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"internal/application/service/user.go","lineNumber":1462,"sourceCode":"func validateOIDCEndpoints(cfg *config.OIDCAuthConfig) error {\n\tif err := validateOIDCEndpoint(\"authorization\", cfg.AuthorizationEndpoint, true); err != nil {\n\t\treturn err\n\t}\n\tif err := validateOIDCEndpoint(\"token\", cfg.TokenEndpoint, true); err != nil {\n\t\treturn err\n\t}\n\tif err := validateOIDCEndpoint(\"userinfo\", cfg.UserInfoEndpoint, false); err != nil {\n\t\treturn err\n\t}\n\tif err := validateOIDCEndpoint(\"jwks\", cfg.JwksURI, false); err != nil {\n\t\treturn err\n\t}\n\treturn nil\n}\n\nfunc (s *userService) getOIDCConfig(ctx context.Context) (*config.OIDCAuthConfig, error) {\n\tif s.config == nil || s.config.OIDCAuth == nil || !s.config.OIDCAuth.Enable {\n\t\treturn nil, errors.New(\"OIDC login is disabled\")\n\t}\n\tcfg := *s.config.OIDCAuth\n\tif cfg.UserInfoMapping == nil {\n\t\tcfg.UserInfoMapping = &config.OIDCUserInfoMapping{Username: \"name\", Email: \"email\"}\n\t}\n\tif err := s.populateOIDCEndpoints(ctx, &cfg); err != nil {\n\t\treturn nil, err\n\t}\n\treturn &cfg, nil\n}\n\nfunc oidcNeedsDiscovery(cfg *config.OIDCAuthConfig) bool {\n\treturn strings.TrimSpace(cfg.AuthorizationEndpoint) == \"\" ||\n\t\tstrings.TrimSpace(cfg.TokenEndpoint) == \"\" ||\n\t\tstrings.TrimSpace(cfg.JwksURI) == \"\" ||\n\t\tstrings.TrimSpace(cfg.IssuerURL) == \"\"\n}\n","sourceCodeStart":1444,"sourceCodeEnd":1480,"githubUrl":"https://github.com/Tencent/WeKnora/blob/988cbb03305e055d8ebb7d46d9ac6cc0803cd074/internal/application/service/user.go#L1444-L1480","documentation":"Raised in getOIDCConfig when s.config is nil or OIDC auth is not configured/enabled — an OIDC login (authorization URL generation or LoginWithOIDC) was attempted while OIDC login is disabled for the deployment. Feature-flag guard; callers surface 400/403.","triggerScenarios":"Thrown at internal/application/service/user.go:1462 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Enable and configure OIDC in the deployment config before using OIDC login","Fall back to password login for this deployment"],"exampleFix":null,"handlingStrategy":"fallback","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"988cbb03305e055d8ebb7d46d9ac6cc0803cd074","analyzedAt":"2026-09-02T14:41:08.344Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-08T15:18:49.778Z"}