diff --git a/pkg/openid/clients/azure.go b/pkg/openid/clients/azure.go deleted file mode 100644 index 87a5ac4..0000000 --- a/pkg/openid/clients/azure.go +++ /dev/null @@ -1,21 +0,0 @@ -package clients - -import ( - "github.com/nais/wonderwall/pkg/openid/scopes" -) - -type azure struct { - *OpenIDConfig -} - -func (in *OpenIDConfig) Azure() Configuration { - return &azure{ - OpenIDConfig: in, - } -} - -func (in *azure) GetScopes() scopes.Scopes { - return scopes.DefaultScopes(). - WithAzureScope(in.ClientID). - WithAdditional(in.Scopes...) -} diff --git a/pkg/openid/clients/configuration.go b/pkg/openid/clients/configuration.go index 42a1b5b..d2f2758 100644 --- a/pkg/openid/clients/configuration.go +++ b/pkg/openid/clients/configuration.go @@ -3,6 +3,7 @@ package clients import ( "github.com/lestrrat-go/jwx/v2/jwk" + "github.com/nais/wonderwall/pkg/config" "github.com/nais/wonderwall/pkg/openid/scopes" ) @@ -17,3 +18,81 @@ type Configuration interface { GetUILocales() string GetWellKnownURL() string } + +type OpenIDConfig struct { + config.OpenID + clientJwk jwk.Key + callbackURI string + logoutCallbackURI string +} + +func (in *OpenIDConfig) GetCallbackURI() string { + return in.callbackURI +} + +func (in *OpenIDConfig) GetClientID() string { + return in.ClientID +} + +func (in *OpenIDConfig) GetClientJWK() jwk.Key { + return in.clientJwk +} + +func (in *OpenIDConfig) GetLogoutCallbackURI() string { + return in.logoutCallbackURI +} + +func (in *OpenIDConfig) GetPostLogoutRedirectURI() string { + return in.PostLogoutRedirectURI +} + +func (in *OpenIDConfig) GetScopes() scopes.Scopes { + return scopes.DefaultScopes().WithAdditional(in.Scopes...) +} + +func (in *OpenIDConfig) GetACRValues() string { + return in.ACRValues +} + +func (in *OpenIDConfig) GetUILocales() string { + return in.UILocales +} + +func (in *OpenIDConfig) GetWellKnownURL() string { + return in.WellKnownURL +} + +func NewOpenIDConfig(cfg config.Config, clientJwk jwk.Key, callbackURI, logoutCallbackURI string) *OpenIDConfig { + return &OpenIDConfig{ + OpenID: cfg.OpenID, + clientJwk: clientJwk, + callbackURI: callbackURI, + logoutCallbackURI: logoutCallbackURI, + } +} + +type azure struct { + *OpenIDConfig +} + +func (in *OpenIDConfig) Azure() Configuration { + return &azure{ + OpenIDConfig: in, + } +} + +func (in *azure) GetScopes() scopes.Scopes { + return scopes.DefaultScopes(). + WithAzureScope(in.ClientID). + WithAdditional(in.Scopes...) +} + +type idporten struct { + *OpenIDConfig +} + +func (in *OpenIDConfig) IDPorten() Configuration { + return &idporten{ + OpenIDConfig: in, + } +} diff --git a/pkg/openid/clients/idporten.go b/pkg/openid/clients/idporten.go deleted file mode 100644 index 6883a0f..0000000 --- a/pkg/openid/clients/idporten.go +++ /dev/null @@ -1,11 +0,0 @@ -package clients - -type idporten struct { - *OpenIDConfig -} - -func (in *OpenIDConfig) IDPorten() Configuration { - return &idporten{ - OpenIDConfig: in, - } -} diff --git a/pkg/openid/clients/openid.go b/pkg/openid/clients/openid.go deleted file mode 100644 index 9f5847a..0000000 --- a/pkg/openid/clients/openid.go +++ /dev/null @@ -1,60 +0,0 @@ -package clients - -import ( - "github.com/lestrrat-go/jwx/v2/jwk" - - "github.com/nais/wonderwall/pkg/config" - "github.com/nais/wonderwall/pkg/openid/scopes" -) - -type OpenIDConfig struct { - config.OpenID - clientJwk jwk.Key - callbackURI string - logoutCallbackURI string -} - -func (in *OpenIDConfig) GetCallbackURI() string { - return in.callbackURI -} - -func (in *OpenIDConfig) GetClientID() string { - return in.ClientID -} - -func (in *OpenIDConfig) GetClientJWK() jwk.Key { - return in.clientJwk -} - -func (in *OpenIDConfig) GetLogoutCallbackURI() string { - return in.logoutCallbackURI -} - -func (in *OpenIDConfig) GetPostLogoutRedirectURI() string { - return in.PostLogoutRedirectURI -} - -func (in *OpenIDConfig) GetScopes() scopes.Scopes { - return scopes.DefaultScopes().WithAdditional(in.Scopes...) -} - -func (in *OpenIDConfig) GetACRValues() string { - return in.ACRValues -} - -func (in *OpenIDConfig) GetUILocales() string { - return in.UILocales -} - -func (in *OpenIDConfig) GetWellKnownURL() string { - return in.WellKnownURL -} - -func NewOpenIDConfig(cfg config.Config, clientJwk jwk.Key, callbackURI, logoutCallbackURI string) *OpenIDConfig { - return &OpenIDConfig{ - OpenID: cfg.OpenID, - clientJwk: clientJwk, - callbackURI: callbackURI, - logoutCallbackURI: logoutCallbackURI, - } -}