identity

package
v0.0.21 Latest Latest
Warning

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

Go to latest
Published: Oct 5, 2020 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func IsAuthorized

func IsAuthorized(user UserInfo, permission string) bool

Generate a new session id after login

func NewSessionId

func NewSessionId() string

Generate a new session id after login

Types

type Authenticator added in v0.0.15

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

Authenticator holds stateful items needed for user authentication.

func NewAuthenticator added in v0.0.17

func NewAuthenticator(ctx context.Context) (*Authenticator, error)

NewAuthenticator creates but does not initialize an Authenticator object.

Params:

isProtected - set this to true if only the site is password protected

func (*Authenticator) ChangePassword added in v0.0.17

func (a *Authenticator) ChangePassword(ctx context.Context, userInfo UserInfo,
	oldPassword, password string) ChangePasswordResult

ChangePassword enables the user to change passwords.

func (*Authenticator) CheckLogin added in v0.0.17

func (a *Authenticator) CheckLogin(ctx context.Context,
	username, password string) ([]UserInfo, error)

CheckLogin checks the password when the user logs in.

func (*Authenticator) CheckSession added in v0.0.17

func (a *Authenticator) CheckSession(ctx context.Context, sessionid string) SessionInfo

CheckSession checks the session when the user requests a page.

func (*Authenticator) GetUser added in v0.0.17

func (a *Authenticator) GetUser(ctx context.Context,
	username string) ([]UserInfo, error)

GetUser gets the user information.

func (*Authenticator) Logout added in v0.0.17

func (a *Authenticator) Logout(ctx context.Context, sessionid string)

Logout logs the user out of the current session.

func (*Authenticator) RequestPasswordReset added in v0.0.17

func (a *Authenticator) RequestPasswordReset(ctx context.Context,
	email string) RequestResetResult

RequestPasswordReset requests a password reset, to be sent by email.

func (*Authenticator) ResetPassword added in v0.0.17

func (a *Authenticator) ResetPassword(ctx context.Context, token, password string) bool

ResetPassword resets a password.

func (*Authenticator) SaveSession added in v0.0.17

func (a *Authenticator) SaveSession(ctx context.Context,
	sessionid string, userInfo UserInfo, authenticated int) SessionInfo

SaveSession saves an authenticated session to the database

func (*Authenticator) UpdateSession added in v0.0.17

func (a *Authenticator) UpdateSession(ctx context.Context,
	sessionid string, userInfo UserInfo, authenticated int) SessionInfo

UpdateSession logs a user in when they already have an unauthenticated session.

type ChangePasswordResult

type ChangePasswordResult struct {
	OldPasswordValid bool
	ChangeSuccessful bool
	ShowNewForm      bool
}

func OldPasswordDoesNotMatch

func OldPasswordDoesNotMatch() ChangePasswordResult

Old password does not match

type RequestResetResult

type RequestResetResult struct {
	EmailValid          bool
	RequestResetSuccess bool
	ShowNewForm         bool
	User                UserInfo
	Token               string
}

type SessionInfo

type SessionInfo struct {
	Authenticated int
	Valid         bool
	User          UserInfo
}

func InvalidSession

func InvalidSession() SessionInfo

InvalidSession creates an empty session struct.

type UserInfo

type UserInfo struct {
	UserID                          int
	UserName, Email, FullName, Role string
}

func InvalidUser

func InvalidUser() UserInfo

Empty session struct for an unauthenticated session

Jump to

Keyboard shortcuts

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