session

package
v0.0.3 Latest Latest
Warning

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

Go to latest
Published: Apr 13, 2022 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Auth

func Auth(cfg *conf.Security, validator api.TrustedContextValidator) func(http.Handler) http.Handler

func GetRememberSession added in v0.0.2

func GetRememberSession(ctx context.Context, header sessions.Header, rememberStore sessions.Store, cfg *conf.Security) (*sessions.Session, error)

func GetSession added in v0.0.2

func GetSession(ctx context.Context, header sessions.Header, sessionInfoStore sessions.Store, cfg *conf.Security) (*sessions.Session, error)

func NewClientStateContext

func NewClientStateContext(ctx context.Context, state ClientState) context.Context

func NewClientStateWriterContext

func NewClientStateWriterContext(ctx context.Context, sw ClientStateWriter) context.Context

func NewRememberStore

func NewRememberStore(cfg *conf.Security) sessions.Store

func NewSessionInfoStore

func NewSessionInfoStore(cfg *conf.Security) sessions.Store

func Refresh added in v0.0.2

func Refresh(errEncoder khttp.EncodeErrorFunc, provider RefreshTokenProvider, validator api.TrustedContextValidator) func(http.Handler) http.Handler

func RememberMeExpireSecondsOrDefault added in v0.0.2

func RememberMeExpireSecondsOrDefault(seconds int) int

RememberMeExpireSecondsOrDefault default 30 days

func SessionExpireSecondsOrDefault added in v0.0.2

func SessionExpireSecondsOrDefault(seconds int) int

SessionExpireSecondsOrDefault default 1 day

Types

type ClientState

type ClientState interface {
	//GetUid return user id
	GetUid() string
	//GetSecurityStamp return SecurityStamp
	GetSecurityStamp() string
	GetTwoFactorClientRemembered() bool
	GetTFAInfo() *TFAInfo
	GetRememberToken() *RememberTokenInfo
}

func FromClientStateContext

func FromClientStateContext(ctx context.Context) (state ClientState, ok bool)

func NewClientState

func NewClientState(s *sessions.Session, rs *sessions.Session) ClientState

type ClientStateImpl

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

func (*ClientStateImpl) GetRememberToken

func (c *ClientStateImpl) GetRememberToken() *RememberTokenInfo

func (*ClientStateImpl) GetSecurityStamp

func (c *ClientStateImpl) GetSecurityStamp() string

func (*ClientStateImpl) GetTFAInfo

func (c *ClientStateImpl) GetTFAInfo() *TFAInfo

func (*ClientStateImpl) GetTwoFactorClientRemembered

func (c *ClientStateImpl) GetTwoFactorClientRemembered() bool

func (*ClientStateImpl) GetUid

func (c *ClientStateImpl) GetUid() string

type ClientStateWriter

type ClientStateWriter interface {
	SetUid(ctx context.Context, uid string) error
	//SignOutUid clear uid in client state
	SignOutUid(ctx context.Context) error

	SetSecurityStamp(ctx context.Context, s string) error
	SignOutSecurityStamp(ctx context.Context) error

	SetTwoFactorClientRemembered(ctx context.Context) error
	SignOutTwoFactorClientRemembered(ctx context.Context) error

	SetTFAInfo(ctx context.Context, t TFAInfo) error
	SignOutTFAInfo(ctx context.Context) error

	SetRememberToken(ctx context.Context, token, uid string) error
	SignOutRememberToken(ctx context.Context) error

	Clear(ctx context.Context) error

	Save(ctx context.Context) error
}

func FromClientStateWriterContext

func FromClientStateWriterContext(ctx context.Context) (sw ClientStateWriter, ok bool)

type ClientStateWriterImpl

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

func (*ClientStateWriterImpl) Clear

func (*ClientStateWriterImpl) Save

func (*ClientStateWriterImpl) SetRememberToken

func (c *ClientStateWriterImpl) SetRememberToken(ctx context.Context, token, uid string) error

func (*ClientStateWriterImpl) SetSecurityStamp

func (c *ClientStateWriterImpl) SetSecurityStamp(ctx context.Context, s string) error

func (*ClientStateWriterImpl) SetTFAInfo

func (c *ClientStateWriterImpl) SetTFAInfo(ctx context.Context, t TFAInfo) error

func (*ClientStateWriterImpl) SetTwoFactorClientRemembered

func (c *ClientStateWriterImpl) SetTwoFactorClientRemembered(ctx context.Context) error

func (*ClientStateWriterImpl) SetUid

func (c *ClientStateWriterImpl) SetUid(ctx context.Context, uid string) error

func (*ClientStateWriterImpl) SignOutRememberToken

func (c *ClientStateWriterImpl) SignOutRememberToken(ctx context.Context) error

func (*ClientStateWriterImpl) SignOutSecurityStamp

func (c *ClientStateWriterImpl) SignOutSecurityStamp(ctx context.Context) error

func (*ClientStateWriterImpl) SignOutTFAInfo

func (c *ClientStateWriterImpl) SignOutTFAInfo(ctx context.Context) error

func (*ClientStateWriterImpl) SignOutTwoFactorClientRemembered

func (c *ClientStateWriterImpl) SignOutTwoFactorClientRemembered(ctx context.Context) error

func (*ClientStateWriterImpl) SignOutUid

func (c *ClientStateWriterImpl) SignOutUid(ctx context.Context) error

type RefreshTokenProvider added in v0.0.2

type RefreshTokenProvider interface {
	Refresh(ctx context.Context, token, userId string) error
}

type RefreshTokenProviderFunc added in v0.0.3

type RefreshTokenProviderFunc func(ctx context.Context, token, userId string) error

func (RefreshTokenProviderFunc) Refresh added in v0.0.3

func (r RefreshTokenProviderFunc) Refresh(ctx context.Context, token, userId string) error

type RememberTokenInfo added in v0.0.3

type RememberTokenInfo struct {
	Token string
	Uid   string
}

type TFAInfo

type TFAInfo struct {
	UserId        string
	LoginProvider string
}

Jump to

Keyboard shortcuts

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