session

package
v1.5.8 Latest Latest
Warning

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

Go to latest
Published: Jun 16, 2020 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewLoginRateLimiter added in v1.5.3

func NewLoginRateLimiter(storage stateStorage, maxNumber int) func() (util.Closer, error)

NewLoginRateLimiter creates a function which enforces max number of concurrent login requests. Function returns closer that should be closed when loging request has completed or error if number of incomplete requests exceeded max number.

func NewRedisStateStorage added in v1.5.3

func NewRedisStateStorage(client *redis.Client) *redisStateStorage

NewRedisStateStorage creates storage which leverages redis to establish distributed lock and store number of incomplete login requests.

Types

type Authenticator added in v1.3.0

type Authenticator interface {
	Authenticate(ctx context.Context) (context.Context, error)
}

type Server

type Server struct {
	// contains filtered or unexported fields
}

Server provides a Session service

func NewServer

func NewServer(mgr *sessionmgr.SessionManager, authenticator Authenticator, rateLimiter func() (util.Closer, error)) *Server

NewServer returns a new instance of the Session service

func (*Server) AuthFuncOverride

func (s *Server) AuthFuncOverride(ctx context.Context, fullMethodName string) (context.Context, error)

AuthFuncOverride overrides the authentication function and let us not require auth to receive auth. Without this function here, ArgoCDServer.authenticate would be invoked and credentials checked. Since this service is generally invoked when the user has _no_ credentials, that would create a chicken-and-egg situation if we didn't place this here to allow traffic to pass through.

func (*Server) Create

Create generates a JWT token signed by Argo CD intended for web/CLI logins of the admin user using username/password

func (*Server) Delete

Delete an authentication cookie from the client. This makes sense only for the Web client.

func (*Server) GetUserInfo added in v1.3.0

Jump to

Keyboard shortcuts

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