Documentation
¶
Overview ¶
DO NOT EDIT: This file was auto-generated by "go generate" To regenerate run:
go install github.com/coreos/dex/cmd/genconfig go generate <<fully qualified package name>>
Index ¶
- Constants
- Variables
- func RegisterConnectorConfigType(connectorType string, fn NewConnectorConfigFunc)
- type BitbucketConnectorConfig
- type Connector
- type ConnectorConfig
- type ConnectorConfigRepo
- type GitHubConnectorConfig
- type IdentityProvider
- type LDAPConnector
- func (c *LDAPConnector) Healthy() error
- func (c *LDAPConnector) ID() string
- func (c *LDAPConnector) LoginURL(sessionKey, prompt string) (string, error)
- func (c *LDAPConnector) Register(mux *http.ServeMux, errorURL url.URL)
- func (c *LDAPConnector) Sync() chan struct{}
- func (c *LDAPConnector) TrustedEmailProvider() bool
- type LDAPConnectorConfig
- type LDAPIdentityProvider
- type LocalConnector
- func (c *LocalConnector) Healthy() error
- func (c *LocalConnector) ID() string
- func (c *LocalConnector) LoginURL(sessionKey, prompt string) (string, error)
- func (c *LocalConnector) Register(mux *http.ServeMux, errorURL url.URL)
- func (c *LocalConnector) SetLocalIdentityProvider(idp *LocalIdentityProvider)
- func (c *LocalConnector) Sync() chan struct{}
- func (c *LocalConnector) TrustedEmailProvider() bool
- type LocalConnectorConfig
- type LocalIdentityProvider
- type NewConnectorConfigFunc
- type OAuth2Connector
- func (c *OAuth2Connector) Healthy() error
- func (c *OAuth2Connector) ID() string
- func (c *OAuth2Connector) LoginURL(sessionKey, prompt string) (string, error)
- func (c *OAuth2Connector) Register(mux *http.ServeMux, errorURL url.URL)
- func (c *OAuth2Connector) Sync() chan struct{}
- func (c *OAuth2Connector) TrustedEmailProvider() bool
- type OIDCConnector
- func (c *OIDCConnector) Healthy() error
- func (c *OIDCConnector) ID() string
- func (c *OIDCConnector) LoginURL(sessionKey, prompt string) (string, error)
- func (c *OIDCConnector) Register(mux *http.ServeMux, errorURL url.URL)
- func (c *OIDCConnector) Sync() chan struct{}
- func (c *OIDCConnector) TrustedEmailProvider() bool
- type OIDCConnectorConfig
- type Page
Constants ¶
View Source
const ( LDAPConnectorType = "ldap" LDAPLoginPageTemplateName = "ldap-login.html" )
View Source
const ( LocalConnectorType = "local" LoginPageTemplateName = "local-login.html" )
View Source
const (
BitbucketConnectorType = "bitbucket"
)
View Source
const (
GitHubConnectorType = "github"
)
View Source
const (
OIDCConnectorType = "oidc"
)
Variables ¶
View Source
var ErrorNotFound = errors.New("connector not found in repository")
Functions ¶
func RegisterConnectorConfigType ¶
func RegisterConnectorConfigType(connectorType string, fn NewConnectorConfigFunc)
Types ¶
type BitbucketConnectorConfig ¶ added in v0.2.0
type BitbucketConnectorConfig struct {
ID string `json:"id"`
ClientID string `json:"clientID"`
ClientSecret string `json:"clientSecret"`
}
func (*BitbucketConnectorConfig) ConnectorID ¶ added in v0.2.0
func (cfg *BitbucketConnectorConfig) ConnectorID() string
func (*BitbucketConnectorConfig) ConnectorType ¶ added in v0.2.0
func (cfg *BitbucketConnectorConfig) ConnectorType() string
type Connector ¶
type Connector interface {
// ID returns the ID of the ConnectorConfig used to create the Connector.
ID() string
// LoginURL returns the backend's authorization URL for a sessionKey
// and OAuth2 prompt type.
LoginURL(sessionKey, prompt string) (string, error)
// Register allows connectors to register a callback handler with the
// dex server.
//
// Connectors should register with a path that extends the namespace
// URL provided when the Connector is instantiated.
Register(mux *http.ServeMux, errorURL url.URL)
// Sync triggers any long-running tasks needed to maintain the
// Connector's operation. For example, this would encompass
// repeatedly caching any remote resources for local use.
Sync() chan struct{}
// TrustedEmailProvider indicates whether or not we can trust that email
// claims coming from this provider.
TrustedEmailProvider() bool
health.Checkable
}
type ConnectorConfig ¶
type ConnectorConfig interface {
// ConnectorID returns a unique end user facing identifier. For example "google".
ConnectorID() string
// ConnectorType returns an implementation specific identifier. For example "oidc".
ConnectorType() string
// Connector is invoked by the dex server and returns a Connector configured
// to use the provided arguments. URL namespace is used to register callbacks.
// loginFunc is used to associate remote identies with dex session keys.
//
// The returned Connector must call loginFunc once upon successful
// identification of a user.
//
// Additional templates are passed for connectors that require rendering HTML
// pages, such as the "local" connector.
Connector(ns url.URL, loginFunc oidc.LoginFunc, tpls *template.Template) (Connector, error)
}
func NewConnectorConfigFromType ¶
func NewConnectorConfigFromType(connectorType string) (ConnectorConfig, error)
func ReadConfigs ¶ added in v0.3.0
func ReadConfigs(r io.Reader) ([]ConnectorConfig, error)
type ConnectorConfigRepo ¶
type ConnectorConfigRepo interface {
All() ([]ConnectorConfig, error)
GetConnectorByID(repo.Transaction, string) (ConnectorConfig, error)
}
type GitHubConnectorConfig ¶ added in v0.2.0
type GitHubConnectorConfig struct {
ID string `json:"id"`
ClientID string `json:"clientID"`
ClientSecret string `json:"clientSecret"`
}
func (*GitHubConnectorConfig) ConnectorID ¶ added in v0.2.0
func (cfg *GitHubConnectorConfig) ConnectorID() string
func (*GitHubConnectorConfig) ConnectorType ¶ added in v0.2.0
func (cfg *GitHubConnectorConfig) ConnectorType() string
type IdentityProvider ¶ added in v0.3.0
type LDAPConnector ¶ added in v0.3.0
type LDAPConnector struct {
// contains filtered or unexported fields
}
func (*LDAPConnector) Healthy ¶ added in v0.3.0
func (c *LDAPConnector) Healthy() error
func (*LDAPConnector) ID ¶ added in v0.3.0
func (c *LDAPConnector) ID() string
func (*LDAPConnector) LoginURL ¶ added in v0.3.0
func (c *LDAPConnector) LoginURL(sessionKey, prompt string) (string, error)
func (*LDAPConnector) Register ¶ added in v0.3.0
func (c *LDAPConnector) Register(mux *http.ServeMux, errorURL url.URL)
func (*LDAPConnector) Sync ¶ added in v0.3.0
func (c *LDAPConnector) Sync() chan struct{}
func (*LDAPConnector) TrustedEmailProvider ¶ added in v0.3.0
func (c *LDAPConnector) TrustedEmailProvider() bool
type LDAPConnectorConfig ¶ added in v0.3.0
type LDAPConnectorConfig struct {
ID string `json:"id"`
ServerHost string `json:"serverHost"`
ServerPort uint16 `json:"serverPort"`
Timeout time.Duration `json:"timeout"`
UseTLS bool `json:"useTLS"`
UseSSL bool `json:"useSSL"`
CertFile string `json:"certFile"`
KeyFile string `json:"keyFile"`
CaFile string `json:"caFile"`
SkipCertVerification bool `json:"skipCertVerification"`
BaseDN string `json:"baseDN"`
NameAttribute string `json:"nameAttribute"`
EmailAttribute string `json:"emailAttribute"`
SearchBeforeAuth bool `json:"searchBeforeAuth"`
SearchFilter string `json:"searchFilter"`
SearchScope string `json:"searchScope"`
SearchBindDN string `json:"searchBindDN"`
SearchBindPw string `json:"searchBindPw"`
BindTemplate string `json:"bindTemplate"`
TrustedEmailProvider bool `json:"trustedEmailProvider"`
}
func (*LDAPConnectorConfig) ConnectorID ¶ added in v0.3.0
func (cfg *LDAPConnectorConfig) ConnectorID() string
func (*LDAPConnectorConfig) ConnectorType ¶ added in v0.3.0
func (cfg *LDAPConnectorConfig) ConnectorType() string
type LDAPIdentityProvider ¶ added in v0.3.0
type LDAPIdentityProvider struct {
// contains filtered or unexported fields
}
func (*LDAPIdentityProvider) Identity ¶ added in v0.3.0
func (m *LDAPIdentityProvider) Identity(username, password string) (*oidc.Identity, error)
func (*LDAPIdentityProvider) LDAPConnect ¶ added in v0.3.0
func (m *LDAPIdentityProvider) LDAPConnect() (*ldap.Conn, error)
func (*LDAPIdentityProvider) ParseString ¶ added in v0.3.0
func (m *LDAPIdentityProvider) ParseString(template, username string) string
type LocalConnector ¶
type LocalConnector struct {
// contains filtered or unexported fields
}
func (*LocalConnector) Healthy ¶
func (c *LocalConnector) Healthy() error
func (*LocalConnector) ID ¶
func (c *LocalConnector) ID() string
func (*LocalConnector) LoginURL ¶
func (c *LocalConnector) LoginURL(sessionKey, prompt string) (string, error)
func (*LocalConnector) Register ¶
func (c *LocalConnector) Register(mux *http.ServeMux, errorURL url.URL)
func (*LocalConnector) SetLocalIdentityProvider ¶
func (c *LocalConnector) SetLocalIdentityProvider(idp *LocalIdentityProvider)
func (*LocalConnector) Sync ¶
func (c *LocalConnector) Sync() chan struct{}
func (*LocalConnector) TrustedEmailProvider ¶
func (c *LocalConnector) TrustedEmailProvider() bool
type LocalConnectorConfig ¶
type LocalConnectorConfig struct {
ID string `json:"id"`
PasswordInfos []user.PasswordInfo `json:"passwordInfos"`
}
func (*LocalConnectorConfig) ConnectorID ¶
func (cfg *LocalConnectorConfig) ConnectorID() string
func (*LocalConnectorConfig) ConnectorType ¶
func (cfg *LocalConnectorConfig) ConnectorType() string
type LocalIdentityProvider ¶
type LocalIdentityProvider struct {
PasswordInfoRepo user.PasswordInfoRepo
UserRepo user.UserRepo
}
type NewConnectorConfigFunc ¶
type NewConnectorConfigFunc func() ConnectorConfig
type OAuth2Connector ¶ added in v0.2.0
type OAuth2Connector struct {
// contains filtered or unexported fields
}
func (*OAuth2Connector) Healthy ¶ added in v0.2.0
func (c *OAuth2Connector) Healthy() error
func (*OAuth2Connector) ID ¶ added in v0.2.0
func (c *OAuth2Connector) ID() string
func (*OAuth2Connector) LoginURL ¶ added in v0.2.0
func (c *OAuth2Connector) LoginURL(sessionKey, prompt string) (string, error)
func (*OAuth2Connector) Register ¶ added in v0.2.0
func (c *OAuth2Connector) Register(mux *http.ServeMux, errorURL url.URL)
func (*OAuth2Connector) Sync ¶ added in v0.2.0
func (c *OAuth2Connector) Sync() chan struct{}
func (*OAuth2Connector) TrustedEmailProvider ¶ added in v0.2.0
func (c *OAuth2Connector) TrustedEmailProvider() bool
type OIDCConnector ¶
type OIDCConnector struct {
// contains filtered or unexported fields
}
func (*OIDCConnector) Healthy ¶
func (c *OIDCConnector) Healthy() error
func (*OIDCConnector) ID ¶
func (c *OIDCConnector) ID() string
func (*OIDCConnector) LoginURL ¶
func (c *OIDCConnector) LoginURL(sessionKey, prompt string) (string, error)
func (*OIDCConnector) Register ¶
func (c *OIDCConnector) Register(mux *http.ServeMux, errorURL url.URL)
func (*OIDCConnector) Sync ¶
func (c *OIDCConnector) Sync() chan struct{}
func (*OIDCConnector) TrustedEmailProvider ¶
func (c *OIDCConnector) TrustedEmailProvider() bool
type OIDCConnectorConfig ¶
type OIDCConnectorConfig struct {
ID string `json:"id"`
IssuerURL string `json:"issuerURL"`
ClientID string `json:"clientID"`
ClientSecret string `json:"clientSecret"`
TrustedEmailProvider bool `json:"trustedEmailProvider"`
}
func (*OIDCConnectorConfig) ConnectorID ¶
func (cfg *OIDCConnectorConfig) ConnectorID() string
func (*OIDCConnectorConfig) ConnectorType ¶
func (cfg *OIDCConnectorConfig) ConnectorType() string
Click to show internal directories.
Click to hide internal directories.