06b1c860d4
Add backend OIDC: /api/v1/auth/oidc/status|login|callback (authorization code + PKCE, state+nonce cookies, ID-token verification via go-oidc) and admin /auth/oidc/config (GET/PUT, validates the issuer via discovery on enable). Config resolves app_settings (UI) > env > default, so SSO can be configured from the UI while env still seeds it. LoginOIDC provisions/links federated users by the stable (issuer, subject) pair, refusing to reuse a username held by a different account. Verified: discovery + real authorize redirect + PKCE cookies; config API with DB-over-env precedence; provisioning unit-tested. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
37 lines
1.2 KiB
Modula-2
37 lines
1.2 KiB
Modula-2
module github.com/Grace-Solutions/OrchestrAD
|
|
|
|
go 1.25.0
|
|
|
|
require (
|
|
github.com/coreos/go-oidc/v3 v3.21.0
|
|
github.com/go-chi/chi/v5 v5.0.12
|
|
github.com/go-chi/cors v1.2.1
|
|
github.com/go-ldap/ldap/v3 v3.4.13
|
|
github.com/golang-migrate/migrate/v4 v4.17.0
|
|
github.com/google/uuid v1.6.0
|
|
github.com/kardianos/service v1.3.0
|
|
github.com/robfig/cron/v3 v3.0.1
|
|
golang.org/x/crypto v0.48.0
|
|
golang.org/x/oauth2 v0.36.0
|
|
golang.org/x/sys v0.47.0
|
|
gopkg.in/natefinch/lumberjack.v2 v2.2.1
|
|
modernc.org/sqlite v1.58.0
|
|
software.sslmate.com/src/go-pkcs12 v0.7.3
|
|
)
|
|
|
|
require (
|
|
github.com/Azure/go-ntlmssp v0.1.0 // indirect
|
|
github.com/dustin/go-humanize v1.0.1 // indirect
|
|
github.com/go-asn1-ber/asn1-ber v1.5.8-0.20250403174932-29230038a667 // indirect
|
|
github.com/go-jose/go-jose/v4 v4.1.4 // indirect
|
|
github.com/hashicorp/errwrap v1.1.0 // indirect
|
|
github.com/hashicorp/go-multierror v1.1.1 // indirect
|
|
github.com/mattn/go-isatty v0.0.24 // indirect
|
|
github.com/ncruces/go-strftime v1.0.0 // indirect
|
|
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect
|
|
go.uber.org/atomic v1.7.0 // indirect
|
|
modernc.org/libc v1.75.6 // indirect
|
|
modernc.org/mathutil v1.7.1 // indirect
|
|
modernc.org/memory v1.12.1 // indirect
|
|
)
|