Documentation ¶
Index ¶
- Constants
- Variables
- func MockCookieClient(t *testing.T) *http.Client
- func MockGetSession(t *testing.T, reg Registry) httprouter.Handle
- func MockHydrateCookieClient(t *testing.T, c *http.Client, u string)
- func MockMakeAuthenticatedRequest(t *testing.T, reg Registry, router *httprouter.Router, req *http.Request) ([]byte, *http.Response)
- func MockSessionCreateHandler(t *testing.T, reg Registry) httprouter.Handle
- func MockSetSession(t *testing.T, reg Registry) httprouter.Handle
- func RedirectOnAuthenticated(c configuration.Provider) httprouter.Handle
- type Configuration
- type Device
- type Handler
- type HandlerProvider
- type ManagementProvider
- type Manager
- type ManagerHTTP
- func (s *ManagerHTTP) CreateToRequest(ctx context.Context, i *identity.Identity, w http.ResponseWriter, ...) (*Session, error)
- func (s *ManagerHTTP) FetchFromRequest(ctx context.Context, r *http.Request) (*Session, error)
- func (s *ManagerHTTP) PurgeFromRequest(ctx context.Context, w http.ResponseWriter, r *http.Request) error
- func (s *ManagerHTTP) SaveToRequest(ctx context.Context, session *Session, w http.ResponseWriter, r *http.Request) error
- func (s *ManagerHTTP) WithManager(m Manager)
- type ManagerMemory
- type ManagerSQL
- type Registry
- type Session
Constants ¶
View Source
const (
CheckPath = "/sessions/me"
)
View Source
const DefaultSessionCookieName = "hive_session_manager"
DefaultSessionCookieName returns the default cookie name for the hive session.
Variables ¶
View Source
var (
ErrNoActiveSessionFound = herodot.ErrUnauthorized.WithReason("No active session was found in this request.")
)
Functions ¶
func MockGetSession ¶
func MockGetSession(t *testing.T, reg Registry) httprouter.Handle
func MockSessionCreateHandler ¶
func MockSessionCreateHandler(t *testing.T, reg Registry) httprouter.Handle
func MockSetSession ¶
func MockSetSession(t *testing.T, reg Registry) httprouter.Handle
func RedirectOnAuthenticated ¶
func RedirectOnAuthenticated(c configuration.Provider) httprouter.Handle
Types ¶
type Configuration ¶
type Handler ¶
type Handler struct {
// contains filtered or unexported fields
}
func (*Handler) IsNotAuthenticated ¶
func (h *Handler) IsNotAuthenticated(wrap httprouter.Handle, onAuthenticated httprouter.Handle) httprouter.Handle
func (*Handler) RegisterAdminRoutes ¶
func (h *Handler) RegisterAdminRoutes(admin *x.RouterAdmin)
func (*Handler) RegisterPublicRoutes ¶
func (h *Handler) RegisterPublicRoutes(public *x.RouterPublic)
type HandlerProvider ¶
type HandlerProvider interface {
SessionHandler() *Handler
}
type ManagementProvider ¶
type ManagementProvider interface {
SessionManager() Manager
}
type Manager ¶
type Manager interface { // Get retrieves a session from the store. Get(ctx context.Context, sid string) (*Session, error) // Create adds a session to the store. Create(ctx context.Context, s *Session) error // Delete removes a session from the store Delete(ctx context.Context, sid string) error CreateToRequest(context.Context, *identity.Identity, http.ResponseWriter, *http.Request) (*Session, error) // SaveToRequest creates an HTTP session using cookies. SaveToRequest(context.Context, *Session, http.ResponseWriter, *http.Request) error // FetchFromRequest creates an HTTP session using cookies. FetchFromRequest(context.Context, *http.Request) (*Session, error) // PurgeFromRequest removes an HTTP session. PurgeFromRequest(context.Context, http.ResponseWriter, *http.Request) error }
Manager handles identity sessions.
type ManagerHTTP ¶
type ManagerHTTP struct {
// contains filtered or unexported fields
}
func NewManagerHTTP ¶
func NewManagerHTTP( c Configuration, r Registry, m Manager, ) *ManagerHTTP
func (*ManagerHTTP) CreateToRequest ¶
func (*ManagerHTTP) FetchFromRequest ¶
func (*ManagerHTTP) PurgeFromRequest ¶
func (s *ManagerHTTP) PurgeFromRequest(ctx context.Context, w http.ResponseWriter, r *http.Request) error
func (*ManagerHTTP) SaveToRequest ¶
func (s *ManagerHTTP) SaveToRequest(ctx context.Context, session *Session, w http.ResponseWriter, r *http.Request) error
func (*ManagerHTTP) WithManager ¶
func (s *ManagerHTTP) WithManager(m Manager)
type ManagerMemory ¶
type ManagerMemory struct { *ManagerHTTP sync.RWMutex // contains filtered or unexported fields }
func NewManagerMemory ¶
func NewManagerMemory(c Configuration, r Registry) *ManagerMemory
func (*ManagerMemory) Create ¶
func (s *ManagerMemory) Create(ctx context.Context, session *Session) error
type ManagerSQL ¶
type ManagerSQL struct { *ManagerHTTP // contains filtered or unexported fields }
func NewManagerSQL ¶
func NewManagerSQL(c Configuration, r Registry, db *sqlx.DB) *ManagerSQL
type Registry ¶
type Registry interface { CookieManager() sessions.Store SessionManager() Manager identity.PoolProvider }
type Session ¶
type Session struct { SID string `json:"sid"` ExpiresAt time.Time `json:"expires_at" faker:"time_type"` AuthenticatedAt time.Time `json:"authenticated_at" faker:"time_type"` IssuedAt time.Time `json:"issued_at" faker:"time_type"` Identity *identity.Identity `json:"identity"` // contains filtered or unexported fields }
func NewSession ¶
func (*Session) GetIdentity ¶
func (*Session) ResetModifiedIdentityFlag ¶
func (*Session) WasIdentityModified ¶
Click to show internal directories.
Click to hide internal directories.