27 lines
536 B
Go
27 lines
536 B
Go
package utils
|
|
|
|
import (
|
|
"context"
|
|
"log/slog"
|
|
"os"
|
|
|
|
"github.com/coreos/go-oidc/v3/oidc"
|
|
)
|
|
|
|
func NewOIDCProvider(logger *slog.Logger) *oidc.Provider {
|
|
issuerUrl := os.Getenv("OIDC_ISSUER_URL")
|
|
|
|
provider, err := oidc.NewProvider(context.Background(), issuerUrl)
|
|
|
|
if err != nil {
|
|
logger.Error("Error generating OIDC Provider. ", "error", err, "url", issuerUrl)
|
|
panic(err)
|
|
}
|
|
|
|
return provider
|
|
}
|
|
|
|
func NewOIDCVerifier(provider *oidc.Provider) *oidc.IDTokenVerifier {
|
|
return provider.Verifier(&oidc.Config{ClientID: "account"})
|
|
}
|