auth

package
v0.0.0-...-afb99dd Latest Latest
Warning

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

Go to latest
Published: Jun 17, 2021 License: AGPL-3.0 Imports: 23 Imported by: 0

Documentation

Index

Constants

View Source
const (
	UserHeader = "X-User"
)

Variables

This section is empty.

Functions

func App

func App(ctx context.Context) *pb.ClientApp

func ContextWithApp

func ContextWithApp(parent context.Context, clientApp *pb.ClientApp) context.Context

func ContextWithMeta

func ContextWithMeta(parent context.Context) (context.Context, error)

func ContextWithUser

func ContextWithUser(parent context.Context, user *pb.User) context.Context

func CreateUserWebSession

func CreateUserWebSession(w http.ResponseWriter, r *http.Request)

func DeleteClientApp

func DeleteClientApp(w http.ResponseWriter, r *http.Request)

func DeleteProvider

func DeleteProvider(w http.ResponseWriter, r *http.Request)

func Get

func Get(ctx context.Context) *pb.User

func GetClientApp

func GetClientApp(w http.ResponseWriter, r *http.Request)

func GetProvider

func GetProvider(w http.ResponseWriter, r *http.Request)

func InitClientAppSession

func InitClientAppSession(w http.ResponseWriter, r *http.Request)

func IsAdminAppFromContext

func IsAdminAppFromContext(ctx context.Context) bool

func IsContextFromAuthorizedApp

func IsContextFromAuthorizedApp(ctx context.Context) bool

func JWT

func JWT(ctx context.Context) *ome.JWT

func ListClientApps

func ListClientApps(w http.ResponseWriter, r *http.Request)

func ListProviders

func ListProviders(w http.ResponseWriter, r *http.Request)

func Middleware

func Middleware(opts ...MiddlewareOption) mux.MiddlewareFunc

func MuxRouter

func MuxRouter(middleware ...mux.MiddlewareFunc) http.Handler

func NewCredentialsSQLManager

func NewCredentialsSQLManager(db *sql.DB, dialect string, tablePrefix string, adminInfo string) (*credentialsSQLManager, error)

func NewProviderSQLManager

func NewProviderSQLManager(db *sql.DB, dialect string, tableName string) (*sqlProviderManager, error)

func ParseMetaInNewContext

func ParseMetaInNewContext(ctx context.Context) (context.Context, error)

func SaveClientApp

func SaveClientApp(w http.ResponseWriter, r *http.Request)

func SaveProvider

func SaveProvider(w http.ResponseWriter, r *http.Request)

func SaveUser

func SaveUser(w http.ResponseWriter, r *http.Request)

func SearchUsers

func SearchUsers(w http.ResponseWriter, r *http.Request)

func ServiceMiddleware

func ServiceMiddleware(next http.Handler) http.Handler

func UserSessionHandler

func UserSessionHandler(middleware ...mux.MiddlewareFunc) http.Handler

Types

type CredentialsManager

type CredentialsManager interface {
	ValidateAdminAccess(password string) error
	SaveClientApp(access *pb.ClientApp) error
	GetClientApp(key string) (*pb.ClientApp, error)
	GetAllClientApps() ([]*pb.ClientApp, error)
	DeleteClientApp(key string) error

	SaveUserCredentials(credentials *pb.UserCredentials) error
	GetUserPassword(username string) (string, error)
	GetMatchingUser(pattern string) ([]string, error)
	DeleteUserCredentials(username string) error
}

func GetCredentialsManager

func GetCredentialsManager(ctx context.Context) CredentialsManager

type InitClientAppSessionRequest

type InitClientAppSessionRequest struct {
	ClientApp *pb.ClientApp `json:"client,omitempty"`
}

type MiddlewareOption

type MiddlewareOption func(*middlewareOptions)

func MiddlewareWithCredentials

func MiddlewareWithCredentials(manager CredentialsManager) MiddlewareOption

func MiddlewareWithProviderManager

func MiddlewareWithProviderManager(manager ProviderManager) MiddlewareOption

type Provider

type Provider struct {
	Name   string         `json:"name,omitempty"`
	Label  string         `json:"label,omitempty"`
	Config *oauth2.Config `json:"config,omitempty"`
	Color  string         `json:"color,omitempty"`
	Active bool           `json:"active,omitempty"`
}

type ProviderManager

type ProviderManager interface {
	Save(provider *Provider) error
	Get(name string) (*Provider, error)
	GetAll(hideConfig bool) ([]*Provider, error)
	Delete(name string) error
}

func GetProviders

func GetProviders(ctx context.Context) ProviderManager

Jump to

Keyboard shortcuts

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