mirror of
https://github.com/oauth2-proxy/oauth2-proxy.git
synced 2026-10-18 04:41:19 +02:00
Move provider initialisation into providers package
This commit is contained in:
@@ -624,7 +624,7 @@ func (l *LegacyProvider) convert() (Providers, error) {
|
||||
ClientID: l.ClientID,
|
||||
ClientSecret: l.ClientSecret,
|
||||
ClientSecretFile: l.ClientSecretFile,
|
||||
Type: l.ProviderType,
|
||||
Type: ProviderType(l.ProviderType),
|
||||
CAFiles: l.ProviderCAFiles,
|
||||
LoginURL: l.LoginURL,
|
||||
RedeemURL: l.RedeemURL,
|
||||
|
||||
@@ -52,7 +52,7 @@ type Provider struct {
|
||||
// Type is the OAuth provider
|
||||
// must be set from the supported providers group,
|
||||
// otherwise 'Google' is set as default
|
||||
Type string `json:"provider,omitempty"`
|
||||
Type ProviderType `json:"provider,omitempty"`
|
||||
// Name is the providers display name
|
||||
// if set, it will be shown to the users in the login page.
|
||||
Name string `json:"name,omitempty"`
|
||||
@@ -84,6 +84,56 @@ type Provider struct {
|
||||
AcrValues string `json:"acrValues,omitempty"`
|
||||
}
|
||||
|
||||
// ProviderType is used to enumerate the different provider type options
|
||||
// Valid options are: adfs, azure, bitbucket, digitalocean facebook, github,
|
||||
// gitlab, google, keycloak, keycloak-oidc, linkedin, login.gov, nextcloud
|
||||
// and oidc.
|
||||
type ProviderType string
|
||||
|
||||
const (
|
||||
// ADFSProvider is the provider type for ADFS
|
||||
ADFSProvider ProviderType = "adfs"
|
||||
|
||||
// AzureProvider is the provider type for Azure
|
||||
AzureProvider ProviderType = "azure"
|
||||
|
||||
// BitbucketProvider is the provider type for Bitbucket
|
||||
BitbucketProvider ProviderType = "bitbucket"
|
||||
|
||||
// DigitalOceanProvider is the provider type for DigitalOcean
|
||||
DigitalOceanProvider ProviderType = "digitalocean"
|
||||
|
||||
// FacebookProvider is the provider type for Facebook
|
||||
FacebookProvider ProviderType = "facebook"
|
||||
|
||||
// GitHubProvider is the provider type for GitHub
|
||||
GitHubProvider ProviderType = "github"
|
||||
|
||||
// GitLabProvider is the provider type for GitLab
|
||||
GitLabProvider ProviderType = "gitlab"
|
||||
|
||||
// GoogleProvider is the provider type for GoogleProvider
|
||||
GoogleProvider ProviderType = "google"
|
||||
|
||||
// KeycloakProvider is the provider type for Keycloak
|
||||
KeycloakProvider ProviderType = "keycloak"
|
||||
|
||||
// KeycloakOIDCProvider is the provider type for Keycloak OIDC
|
||||
KeycloakOIDCProvider ProviderType = "keycloak-oidc"
|
||||
|
||||
// LinkedInProvider is the provider type for LinkedIn
|
||||
LinkedInProvider ProviderType = "linkedin"
|
||||
|
||||
// LoginGovProvider is the provider type for LoginGov
|
||||
LoginGovProvider ProviderType = "login.gov"
|
||||
|
||||
// NextCloudProvider is the provider type for NextCloud
|
||||
NextCloudProvider ProviderType = "nextcloud"
|
||||
|
||||
// OIDCProvider is the provider type for OIDC
|
||||
OIDCProvider ProviderType = "oidc"
|
||||
)
|
||||
|
||||
type KeycloakOptions struct {
|
||||
// Group enables to restrict login to members of indicated group
|
||||
Groups []string `json:"groups,omitempty"`
|
||||
|
||||
Reference in New Issue
Block a user