Documentation ¶
Index ¶
- Constants
- Variables
- func MapCognitoErrorToLocalError(ctx context.Context, cognitoErr awserr.Error) string
- type AccessToken
- type CreateUserInput
- type CreateUserOutput
- type Error
- type ErrorResponse
- type IdClaims
- type IdToken
- type ListUsersInput
- type ListUsersOutput
- type RefreshToken
- func (t *RefreshToken) BuildSuccessfulJsonResponse(ctx context.Context, result *cognitoidentityprovider.InitiateAuthOutput) ([]byte, error)
- func (t *RefreshToken) GenerateRefreshRequest(clientSecret string, username string, clientId string) *cognitoidentityprovider.InitiateAuthInput
- func (t *RefreshToken) Validate(ctx context.Context) *Error
- type SuccessResponse
- type UserParams
- func (p UserParams) BuildCreateUserRequest(userId string, userPoolId string) *cognitoidentityprovider.AdminCreateUserInput
- func (p UserParams) BuildListUserRequest(filterString string, requiredAttribute string, limit int64, userPoolId *string) *cognitoidentityprovider.ListUsersInput
- func (p UserParams) BuildSuccessfulJsonResponse(ctx context.Context, ...) ([]byte, error)
- func (p UserParams) CheckForDuplicateEmail(ctx context.Context, listUserResp *cognitoidentityprovider.ListUsersOutput) error
- func (p UserParams) GeneratePassword(ctx context.Context) error
- func (p UserParams) ValidateRegistration(ctx context.Context) []error
- type UserSignIn
- func (p *UserSignIn) BuildCognitoRequest(clientId string, clientSecret string, clientAuthFlow string) *cognitoidentityprovider.InitiateAuthInput
- func (p *UserSignIn) BuildSuccessfulJsonResponse(ctx context.Context, result *cognitoidentityprovider.InitiateAuthOutput) ([]byte, error)
- func (p *UserSignIn) ValidateCredentials(ctx context.Context) *[]error
Constants ¶
View Source
const ( BodyReadError = "RequestBodyReadError" JSONMarshalError = "JSONMarshalError" JSONUnmarshalError = "JSONUnmarshalError" WriteResponseError = "WriteResponseError" InvalidForenameError = "InvalidForename" InvalidSurnameError = "InvalidSurname" InvalidEmailError = "InvalidEmail" InvalidTokenError = "InvalidToken" InternalError = "InternalServerError" NotFoundError = "NotFound" AlreadyExistsError = "AlreadyExists" DeliveryFailureError = "DeliveryFailure" InvalidCodeError = "InvalidCode" ExpiredCodeError = "ExpiredCode" InvalidFieldError = "InvalidField" InvalidPasswordError = "InvalidPassword" LimitExceededError = "LimitExceeded" NotAuthorisedError = "NotAuthorised" PasswordResetRequiredError = "PasswordResetRequired" TooManyFailedAttemptsError = "TooManyFailedAttempts" TooManyRequestsError = "TooManyRequests" UserNotConfirmedError = "UserNotConfirmed" UsernameExistsError = "UsernameExists" MissingConfigError = "MissingConfig" )
API error codes
View Source
const ( MissingAuthorizationTokenDescription = "no Authorization token was provided" MissingRefreshTokenDescription = "no Refresh token was provided" MissingIDTokenDescription = "no ID token was provided" MalformedIDTokenDescription = "the ID token could not be parsed" MalformedAuthorizationTokenDescription = "the authorization token does not meet the required format" ErrorMarshalFailedDescription = "failed to marshal the error" ErrorUnmarshalFailedDescription = "failed to unmarshal the request body" WriteResponseFailedDescription = "failed to write http response" CastingAWSErrorFailedDescription = "failed to cast error to AWS error" UnrecognisedCognitoResponseDescription = "unexpected response from cognito" BodyReadFailedDescription = "endpoint returned an error reading the request body" InvalidPasswordDescription = "the submitted password could not be validated" PasswordGenerationErrorDescription = "failed to generate a valid password" InvalidForenameErrorDescription = "the submitted user's forename could not be validated" InvalidSurnameErrorDescription = "the submitted user's surname could not be validated" InvalidEmailDescription = "the submitted email could not be validated" DuplicateEmailDescription = "account using email address found" SignInFailedDescription = "Incorrect username or password" SignInAttemptsExceededDescription = "Password attempts exceeded" MissingConfigDescription = "required configuration setting is missing" )
API error descriptions
Variables ¶
View Source
var CognitoErrorMapping = map[string]string{ cognitoidentityprovider.ErrCodeInternalErrorException: InternalError, cognitoidentityprovider.ErrCodeCodeDeliveryFailureException: DeliveryFailureError, cognitoidentityprovider.ErrCodeCodeMismatchException: InvalidCodeError, cognitoidentityprovider.ErrCodeConcurrentModificationException: InternalError, cognitoidentityprovider.ErrCodeExpiredCodeException: ExpiredCodeError, cognitoidentityprovider.ErrCodeGroupExistsException: AlreadyExistsError, cognitoidentityprovider.ErrCodeInvalidOAuthFlowException: InternalError, cognitoidentityprovider.ErrCodeInvalidParameterException: InvalidFieldError, cognitoidentityprovider.ErrCodeInvalidPasswordException: InvalidPasswordError, cognitoidentityprovider.ErrCodeLimitExceededException: LimitExceededError, cognitoidentityprovider.ErrCodeNotAuthorizedException: NotAuthorisedError, cognitoidentityprovider.ErrCodePasswordResetRequiredException: PasswordResetRequiredError, cognitoidentityprovider.ErrCodeResourceNotFoundException: NotFoundError, cognitoidentityprovider.ErrCodeTooManyFailedAttemptsException: TooManyFailedAttemptsError, cognitoidentityprovider.ErrCodeTooManyRequestsException: TooManyRequestsError, cognitoidentityprovider.ErrCodeUserNotConfirmedException: UserNotConfirmedError, cognitoidentityprovider.ErrCodeUserNotFoundException: NotFoundError, cognitoidentityprovider.ErrCodeUsernameExistsException: UsernameExistsError, request.ErrCodeSerialization: InternalError, request.ErrCodeRead: InternalError, request.ErrCodeResponseTimeout: InternalError, request.ErrCodeInvalidPresignExpire: InternalError, request.CanceledErrorCode: InternalError, request.ErrCodeRequestError: InternalError, }
Mapping Cognito error codes to API error codes
Functions ¶
Types ¶
type AccessToken ¶ added in v1.8.0
func (*AccessToken) GenerateSignOutRequest ¶ added in v1.8.0
func (t *AccessToken) GenerateSignOutRequest() *cognitoidentityprovider.GlobalSignOutInput
type CreateUserInput ¶
type CreateUserInput struct {
UserInput *cognitoidentityprovider.AdminCreateUserInput
}
type CreateUserOutput ¶
type CreateUserOutput struct {
UserOutput *cognitoidentityprovider.AdminCreateUserOutput
}
type Error ¶ added in v1.8.0
type Error struct { Cause error `json:"-"` Code string `json:"code"` Description string `json:"description"` }
func NewCognitoError ¶ added in v1.8.0
func NewValidationError ¶ added in v1.8.0
type ErrorResponse ¶ added in v1.8.0
func NewErrorResponse ¶ added in v1.8.0
func NewErrorResponse(errors []error, statusCode int) *ErrorResponse
type IdClaims ¶
type IdClaims struct { Sub string `json:"sub"` Aud string `json:"aud"` EmailVerified bool `json:"email_verified"` TokenUse string `json:"token_use"` AuthTime int `json:"auth_time"` Iss string `json:"iss"` CognitoUser string `json:"cognito:username"` Exp int `json:"exp"` GivenName string `json:"given_name"` Iat int `json:"iat"` Email string `json:"email"` jwt.StandardClaims }
type IdToken ¶
func (*IdToken) ParseWithoutValidating ¶
ParseWithoutValidating parses the claims in an ID token JWT in to a IdClaims struct without validating the token
type ListUsersInput ¶
type ListUsersInput struct {
ListUsersInput *cognitoidentityprovider.ListUsersInput
}
type ListUsersOutput ¶
type ListUsersOutput struct {
ListUsersOutput *cognitoidentityprovider.ListUsersOutput
}
type RefreshToken ¶
type RefreshToken struct {
TokenString string
}
func (*RefreshToken) BuildSuccessfulJsonResponse ¶ added in v1.8.0
func (t *RefreshToken) BuildSuccessfulJsonResponse(ctx context.Context, result *cognitoidentityprovider.InitiateAuthOutput) ([]byte, error)
func (*RefreshToken) GenerateRefreshRequest ¶
func (t *RefreshToken) GenerateRefreshRequest(clientSecret string, username string, clientId string) *cognitoidentityprovider.InitiateAuthInput
GenerateRefreshRequest produces a Cognito InitiateAuthInput struct for refreshing a users current session
type SuccessResponse ¶ added in v1.8.0
func NewSuccessResponse ¶ added in v1.8.0
func NewSuccessResponse(jsonBody []byte, statusCode int) *SuccessResponse
type UserParams ¶
type UserParams struct { Forename string `json:"forename"` Surname string `json:"surname"` Email string `json:"email"` Password string `json:"-"` }
func (UserParams) BuildCreateUserRequest ¶ added in v1.8.0
func (p UserParams) BuildCreateUserRequest(userId string, userPoolId string) *cognitoidentityprovider.AdminCreateUserInput
func (UserParams) BuildListUserRequest ¶ added in v1.8.0
func (p UserParams) BuildListUserRequest(filterString string, requiredAttribute string, limit int64, userPoolId *string) *cognitoidentityprovider.ListUsersInput
func (UserParams) BuildSuccessfulJsonResponse ¶ added in v1.8.0
func (p UserParams) BuildSuccessfulJsonResponse(ctx context.Context, createdUser *cognitoidentityprovider.AdminCreateUserOutput) ([]byte, error)
func (UserParams) CheckForDuplicateEmail ¶ added in v1.8.0
func (p UserParams) CheckForDuplicateEmail(ctx context.Context, listUserResp *cognitoidentityprovider.ListUsersOutput) error
func (UserParams) GeneratePassword ¶ added in v1.8.0
func (p UserParams) GeneratePassword(ctx context.Context) error
func (UserParams) ValidateRegistration ¶ added in v1.8.0
func (p UserParams) ValidateRegistration(ctx context.Context) []error
type UserSignIn ¶ added in v1.8.0
func (*UserSignIn) BuildCognitoRequest ¶ added in v1.8.0
func (p *UserSignIn) BuildCognitoRequest(clientId string, clientSecret string, clientAuthFlow string) *cognitoidentityprovider.InitiateAuthInput
func (*UserSignIn) BuildSuccessfulJsonResponse ¶ added in v1.8.0
func (p *UserSignIn) BuildSuccessfulJsonResponse(ctx context.Context, result *cognitoidentityprovider.InitiateAuthOutput) ([]byte, error)
func (*UserSignIn) ValidateCredentials ¶ added in v1.8.0
func (p *UserSignIn) ValidateCredentials(ctx context.Context) *[]error
Click to show internal directories.
Click to hide internal directories.