session

package
v0.0.4 Latest Latest
Warning

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

Go to latest
Published: Jul 9, 2022 License: Apache-2.0 Imports: 10 Imported by: 3

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

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

func GetSession

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

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

func RememberMeExpireSecondsOrDefault

func RememberMeExpireSecondsOrDefault(seconds int) int

RememberMeExpireSecondsOrDefault default 30 days

func SessionExpireSecondsOrDefault

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 RefreshNewToken

type RefreshNewToken struct {
	UserId   string
	NewToken string
}

type RefreshTokenProvider

type RefreshTokenProvider interface {
	Refresh(ctx context.Context, token string) (t *RefreshNewToken, err error)
}

type RefreshTokenProviderFunc

type RefreshTokenProviderFunc func(ctx context.Context, token string) (t *RefreshNewToken, err error)

func (RefreshTokenProviderFunc) Refresh

func (r RefreshTokenProviderFunc) Refresh(ctx context.Context, token string) (t *RefreshNewToken, err error)

type RememberTokenInfo

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