auth

package
v0.0.0-...-057e48f Latest Latest
Warning

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

Go to latest
Published: Jul 4, 2023 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func VerifyGroupRequestScope

func VerifyGroupRequestScope(r *http.Request, groupId string) (string, error)

VerifyGroupRequestScope inputs a Group http request and returns decrypted TokenData or an error

func VerifyRequestScope

func VerifyRequestScope(r *http.Request, scopeType string) (*models.User, error)

VerifyRequestScope inputs generic http requests and returns decrypted TokenData or an error

func VerifyUserRequestScope

func VerifyUserRequestScope(r *http.Request, userId string, scopeType string) (*models.User, error)

VerifyUserRequestScope inputs User http request and returns decrypted TokenData or an error

Types

type TokenData

type TokenData struct {
	UserId    string
	Role      string
	RootAdmin bool
	GroupId   string
}

TokenData stores the structured data from a session token for use

func DecodeJWT

func DecodeJWT(curToken string) (*TokenData, error)

DecodeJWT is used to decode a JWT token

func InitUserToken

func InitUserToken(u *models.User) (*TokenData, error)

InitUserToken inputs a pointer to a user and returns TokenData

func LoadTokenFromRequest

func LoadTokenFromRequest(r *http.Request) (*TokenData, error)

LoadTokenFromRequest inputs a http request and returns decrypted TokenData or an error

func (*TokenData) AdminRouteRoleCheck

func (t *TokenData) AdminRouteRoleCheck() string

AdminRouteRoleCheck checks admin routes JWT tokens to ensure that a group admin does not break scope

func (*TokenData) CreateToken

func (t *TokenData) CreateToken(exp int64) (string, error)

CreateToken is used to create a new session JWT token

func (*TokenData) GetGroupsScope

func (t *TokenData) GetGroupsScope() *models.Group

GetGroupsScope returns a scoped Group ID filter based on token User role

func (*TokenData) GetUsersScope

func (t *TokenData) GetUsersScope(scopeType string) *models.User

GetUsersScope returns a scoped User ID filter based on token User role

func (*TokenData) ToUser

func (t *TokenData) ToUser() *models.User

ToUser creates a new User struct using the TokenData and returns a pointer to it

Jump to

Keyboard shortcuts

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