dex

package
v1.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 2, 2018 License: AGPL-3.0 Imports: 18 Imported by: 0

Documentation

Overview

Package dex provides specific connectors for the CoreOS/Dex implementation of OpenID Connect protocol

Index

Constants

This section is empty.

Variables

View Source
var (
	PydioConnectorsConfig = map[string]func() PydioConnectorConfig{}
)

Functions

func ConvertUserApiToIdentity

func ConvertUserApiToIdentity(idmUser *idm.User, authSourceName string) (ident connector.Identity)

func RegisterDexPydioConnector

func RegisterDexPydioConnector(name string, configProvider func() PydioConnectorConfig)

func RegisterWrapperConnectorMiddleware added in v1.2.0

func RegisterWrapperConnectorMiddleware(operation string, middleware WrapperConnectorMiddleware)

Types

type ApiConfig

type ApiConfig struct {
}

func (*ApiConfig) Open

func (c *ApiConfig) Open(logger logrus.FieldLogger) (connector.Connector, error)

func (*ApiConfig) OpenConnector

func (c *ApiConfig) OpenConnector(logger logrus.FieldLogger) (interface{}, error)

type ConnectorConfig

type ConnectorConfig struct {
	Type   string          `json:"type"`
	ID     int16           `json:"id"`
	Name   string          `json:"name"`
	IsLast bool            `json:islast`
	Config json.RawMessage `json:"config"`
}

type ConnectorList

type ConnectorList struct {
	Type      string `json:"type"`
	Name      string `json:"name"`
	ID        int16  `json:"id"`
	IsLast    bool   `json:islast`
	Connector interface {
		connector.Connector
		connector.PasswordConnector
		connector.RefreshConnector
	}
}

type PydioConnector

type PydioConnector struct {
	Type   string               `json:"type"`
	Name   string               `json:"name"`
	ID     int16                `json:"id"`
	IsLast bool                 `json:islast`
	Config PydioConnectorConfig `json:"config"`
}

PydioConnector is a magical type that can unmarshal YAML dynamically. The Type field determines the connector type, which is then customized for Config.

type PydioConnectorConfig

type PydioConnectorConfig interface {
	Open(logger logrus.FieldLogger) (connector.Connector, error)
}

PydioConnectorsConfig provides an easy way to return a config struct depending on the connector type.

type WrapperConfig

type WrapperConfig struct {
	Connectors []ConnectorConfig `json:"pydioconnectors"`
}

func (*WrapperConfig) Open

func (*WrapperConfig) OpenConnector

type WrapperConnectorMiddleware added in v1.2.0

type WrapperConnectorMiddleware func(wrapperConnector WrapperConnectorProvider) WrapperConnectorProvider

type WrapperConnectorOperation added in v1.2.0

type WrapperConnectorOperation struct {
	OperationType string
	Scopes        connector.Scopes
	Login         string
	Password      string
	LoginError    bool

	ValidUsername string
	AuthSource    string
	User          *idm.User
	Identity      connector.Identity
}

func ApplyWrapperConnectorMiddlewares added in v1.2.0

func ApplyWrapperConnectorMiddlewares(ctx context.Context, in *WrapperConnectorOperation, coreProvider WrapperConnectorProvider) (*WrapperConnectorOperation, error)

type WrapperConnectorProvider added in v1.2.0

type WrapperConnectorProvider func(ctx context.Context, in *WrapperConnectorOperation) (*WrapperConnectorOperation, error)

func WrapWithIdentity added in v1.2.0

func WrapWithIdentity(middleware WrapperConnectorProvider) WrapperConnectorProvider

func WrapWithIdmUser added in v1.2.0

func WrapWithIdmUser(middleware WrapperConnectorProvider) WrapperConnectorProvider

func WrapWithPolicyCheck added in v1.2.0

func WrapWithPolicyCheck(middleware WrapperConnectorProvider) WrapperConnectorProvider

func WrapWithUserLocks added in v1.2.0

func WrapWithUserLocks(middleware WrapperConnectorProvider) WrapperConnectorProvider

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL