api

package
v1.57.0 Latest Latest
Warning

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

Go to latest
Published: Oct 24, 2024 License: MIT Imports: 20 Imported by: 1

Documentation

Index

Constants

View Source
const (
	GroupsCreatePermission = "groups:create"
	GroupsReadPermission   = "groups:read"
	GroupsEditPermission   = "groups:update"
	GroupsDeletePermission = "groups:delete"
)
View Source
const (
	UsersCreatePermission string = "users:create"
	UsersReadPermission          = "users:read"
	UsersUpdatePermission        = "users:update"
)

Variables

View Source
var (
	IdTokenHeaderName      = "ID"
	AccessTokenHeaderName  = "Authorization"
	RefreshTokenHeaderName = "Refresh"
	WWWAuthenticateName    = "WWW-Authenticate"
	ONSRealm               = "Florence publishing platform"
	Charset                = "UTF-8"
	NewPasswordChallenge   = "NEW_PASSWORD_REQUIRED"
	DefaultBackOffSchedule = []time.Duration{
		1 * time.Second,
		3 * time.Second,
		10 * time.Second,
	}
)

Functions

This section is empty.

Types

type API

type API struct {
	Router           *mux.Router
	CognitoClient    cognito.Client
	UserPoolId       string
	ClientId         string
	ClientSecret     string
	ClientAuthFlow   string
	AWSRegion        string
	AllowedDomains   []string
	APIRequestFilter map[string]map[string]string
	JWKSHandler      jwks.JWKSInt
}

API provides a struct to wrap the api around

func Setup

func Setup(ctx context.Context,
	r *mux.Router,
	cognitoClient cognito.Client,
	userPoolId, clientId, clientSecret, awsRegion, clientAuthFlow string,
	allowedDomains []string,
	auth authorisation.Middleware,
	jwksHandler jwks.JWKSInt) (*API, error)

Setup function sets up the api and returns an api

func (*API) AddUserToGroup added in v1.40.0

func (api *API) AddUserToGroup(ctx context.Context, group models.Group, userId string) (*models.UsersList, error)

AddUserToGroup adds a user to the specified group

func (*API) AddUserToGroupHandler added in v1.15.0

func (api *API) AddUserToGroupHandler(ctx context.Context, w http.ResponseWriter, req *http.Request) (*models.SuccessResponse, *models.ErrorResponse)

AddUserToGroupHandler adds a user to the specified group

func (*API) ChangePasswordHandler added in v1.10.0

func (api *API) ChangePasswordHandler(ctx context.Context, w http.ResponseWriter, req *http.Request) (*models.SuccessResponse, *models.ErrorResponse)

ChangePasswordHandler processes changes to the users password

func (*API) CognitoPoolJWKSHandler added in v1.35.0

func (api *API) CognitoPoolJWKSHandler(ctx context.Context, w http.ResponseWriter, req *http.Request) (*models.SuccessResponse, *models.ErrorResponse)

CognitoPoolJWKSHandler handles the retrieval of pool specific web key set

func (*API) CreateGroupHandler added in v1.23.0

func (api *API) CreateGroupHandler(ctx context.Context, w http.ResponseWriter, req *http.Request) (*models.SuccessResponse, *models.ErrorResponse)

CreateGroupHandler creates a new group

func (*API) CreateUserHandler added in v1.7.0

func (api *API) CreateUserHandler(ctx context.Context, w http.ResponseWriter, req *http.Request) (*models.SuccessResponse, *models.ErrorResponse)

CreateUserHandler creates a new user and returns a http handler interface

func (*API) DeleteGroupHandler added in v1.29.0

func (api *API) DeleteGroupHandler(ctx context.Context, w http.ResponseWriter, req *http.Request) (*models.SuccessResponse, *models.ErrorResponse)

DeleteGroupHandler deletes the group for the given group id

func (*API) GetFilterStringAndValidate added in v1.30.0

func (api *API) GetFilterStringAndValidate(path string, query string) (string, error)

func (*API) GetGroupHandler added in v1.26.0

func (api *API) GetGroupHandler(ctx context.Context, w http.ResponseWriter, req *http.Request) (*models.SuccessResponse, *models.ErrorResponse)

GetGroupHandler gets group details for given groups

func (*API) GetListGroups added in v1.25.0

func (api *API) GetListGroups() (*cognitoidentityprovider.ListGroupsOutput, error)

List Groups pagination allows first call and then any other call if nextToken is not ""

func (*API) GetTeamsReportLines added in v1.51.0

func (api *API) GetTeamsReportLines(listOfGroups *cognitoidentityprovider.ListGroupsOutput) (*[]models.ListGroupUsersType, error)

GetTeamsReportLines from the listOfGroups for each group gets the list of members and produces output group description user email for each group member

func (*API) GetUserHandler added in v1.12.0

func (api *API) GetUserHandler(ctx context.Context, w http.ResponseWriter, req *http.Request) (*models.SuccessResponse, *models.ErrorResponse)

GetUserHandler lists the users in the user pool

func (*API) ListGroupsHandler added in v1.25.0

func (api *API) ListGroupsHandler(ctx context.Context, w http.ResponseWriter, req *http.Request) (*models.SuccessResponse, *models.ErrorResponse)

ListGroupsHandler lists the users in the user pool

func (*API) ListGroupsUsersCSV added in v1.51.0

func (api *API) ListGroupsUsersCSV(GroupsUsersList *[]models.ListGroupUsersType) *bytes.Buffer

ListGroupsUsersCSV converts the GroupsUsersList output to csv

func (*API) ListGroupsUsersHandler added in v1.51.0

func (api *API) ListGroupsUsersHandler(ctx context.Context, w http.ResponseWriter, req *http.Request) (*models.SuccessResponse, *models.ErrorResponse)

ListGroupsUsersHandler produces a user requested report of all groups with members including groups that act as roles output by default is json but if request header accept == text/csv then the output is csv format each line consists of the group description and user email

func (*API) ListUserGroupsHandler added in v1.21.0

func (api *API) ListUserGroupsHandler(ctx context.Context, w http.ResponseWriter, req *http.Request) (*models.SuccessResponse, *models.ErrorResponse)

ListUserGroupsHandler lists the users in the user pool

func (*API) ListUsersHandler added in v1.11.0

func (api *API) ListUsersHandler(ctx context.Context, w http.ResponseWriter, req *http.Request) (*models.SuccessResponse, *models.ErrorResponse)

ListUsersHandler lists the users in the user pool

func (*API) ListUsersInGroupHandler added in v1.18.0

func (api *API) ListUsersInGroupHandler(ctx context.Context, w http.ResponseWriter, req *http.Request) (*models.SuccessResponse, *models.ErrorResponse)

ListUsersInGroupHandler list the users in the specified group

func (*API) ListUsersWorker added in v1.19.0

func (api *API) ListUsersWorker(ctx context.Context, userFilterString *string, backoffSchedule []time.Duration) (*[]models.UserParams, *models.ErrorResponse)

ListUsersWorker - generates a list of users based on `userFilterString` filter string

func (*API) PasswordResetHandler added in v1.11.0

func (api *API) PasswordResetHandler(ctx context.Context, w http.ResponseWriter, req *http.Request) (*models.SuccessResponse, *models.ErrorResponse)

PasswordResetHandler requests a password reset email be sent to the user and returns a http handler interface

func (*API) RefreshHandler added in v1.7.0

func (api *API) RefreshHandler(ctx context.Context, w http.ResponseWriter, req *http.Request) (*models.SuccessResponse, *models.ErrorResponse)

RefreshHandler refreshes a users access token and returns new access and ID tokens, expiration time and the refresh token

func (*API) RemoveUserFromGroup added in v1.40.0

func (api *API) RemoveUserFromGroup(ctx context.Context, group models.Group, userId string) (*models.UsersList, error)

RemoveUserFromGroup adds a user to the specified group

func (*API) RemoveUserFromGroupHandler added in v1.16.0

func (api *API) RemoveUserFromGroupHandler(ctx context.Context, w http.ResponseWriter, req *http.Request) (*models.SuccessResponse, *models.ErrorResponse)

RemoveUserFromGroupHandler adds a user to the specified group

func (*API) SetGroupUsers added in v1.40.0

func (api *API) SetGroupUsers(ctx context.Context, group models.Group, users models.UsersList) (*models.UsersList, *models.ErrorResponse)

func (*API) SetGroupUsersHandler added in v1.40.0

func (api *API) SetGroupUsersHandler(ctx context.Context, w http.ResponseWriter, req *http.Request) (*models.SuccessResponse, *models.ErrorResponse)

/SetGroupUsersHandler adds a user to the specified group

func (*API) SignOutAllUsersHandler added in v1.19.0

func (api *API) SignOutAllUsersHandler(ctx context.Context, w http.ResponseWriter, req *http.Request) (*models.SuccessResponse, *models.ErrorResponse)

SignOutAllUsersHandler bulk refresh token invalidation for panic sign out handling

func (*API) SignOutHandler added in v1.5.0

func (api *API) SignOutHandler(ctx context.Context, w http.ResponseWriter, req *http.Request) (*models.SuccessResponse, *models.ErrorResponse)

SignOutHandler invalidates a users access token signing them out and returns a http handler interface

func (*API) SignOutUsersWorker added in v1.19.0

func (api *API) SignOutUsersWorker(ctx context.Context, g *models.GlobalSignOut, usersList *[]models.UserParams)

SignOutUsersWorker - signs out users globally by invalidating user's refresh token

func (*API) TokensHandler added in v1.6.0

TokensHandler uses submitted email address and password to sign a user in against Cognito and returns a http handler interface

func (*API) UpdateGroupHandler added in v1.28.0

func (api *API) UpdateGroupHandler(ctx context.Context, w http.ResponseWriter, req *http.Request) (*models.SuccessResponse, *models.ErrorResponse)

UpdateGroupHandler update group details for a given group by id (GroupName)

func (*API) UpdateUserHandler added in v1.13.0

func (api *API) UpdateUserHandler(ctx context.Context, w http.ResponseWriter, req *http.Request) (*models.SuccessResponse, *models.ErrorResponse)

UpdateUserHandler updates a users details in Cognito and returns a http handler interface

Jump to

Keyboard shortcuts

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