summaryrefslogtreecommitdiff
path: root/app/init.go
diff options
context:
space:
mode:
authormo khan <mo@mokhan.ca>2025-04-14 16:10:01 -0600
committermo khan <mo@mokhan.ca>2025-04-14 16:10:01 -0600
commita8c6e1a4aee4a616cd7c73a39e579d7c9b63d720 (patch)
treeae14a445308299be1addc51b1c4377735a9a8f52 /app/init.go
parentefc3c293f472a6993ca086fa335daf3719c6922a (diff)
feat: connect the sessions controller into the app
Diffstat (limited to 'app/init.go')
-rw-r--r--app/init.go21
1 files changed, 21 insertions, 0 deletions
diff --git a/app/init.go b/app/init.go
index 9ff7bec..9bffde8 100644
--- a/app/init.go
+++ b/app/init.go
@@ -1,12 +1,17 @@
package app
import (
+ "context"
+ "log"
"net/http"
+ "github.com/xlgmokha/x/pkg/env"
"github.com/xlgmokha/x/pkg/ioc"
"gitlab.com/gitlab-org/software-supply-chain-security/authorization/sparkled/app/controllers/health"
+ "gitlab.com/gitlab-org/software-supply-chain-security/authorization/sparkled/app/controllers/sessions"
"gitlab.com/gitlab-org/software-supply-chain-security/authorization/sparkled/app/controllers/sparkles"
"gitlab.com/gitlab-org/software-supply-chain-security/authorization/sparkled/pkg/db"
+ "gitlab.com/gitlab-org/software-supply-chain-security/authorization/sparkled/pkg/oidc"
)
func init() {
@@ -22,4 +27,20 @@ func init() {
ioc.Register[*health.Controller](ioc.Default, func() *health.Controller {
return health.New()
})
+ ioc.RegisterSingleton[*oidc.OpenID](ioc.Default, func() *oidc.OpenID {
+ item, err := oidc.New(
+ context.Background(),
+ env.Fetch("OIDC_ISSUER", "https://gitlab.com"),
+ env.Fetch("OAUTH_CLIENT_ID", "client_id"),
+ env.Fetch("OAUTH_CLIENT_SECRET", "client_secret"),
+ env.Fetch("OAUTH_REDIRECT_URL", "https://localhost/session/callback"),
+ )
+ if err != nil {
+ log.Fatal(err)
+ }
+ return item
+ })
+ ioc.Register[*sessions.Controller](ioc.Default, func() *sessions.Controller {
+ return sessions.New(ioc.MustResolve[*oidc.OpenID](ioc.Default))
+ })
}