github.com/keybase/client/go@v0.0.0-20240309051027-028f7c731f8b/auth/errors.go (about) 1 package auth 2 3 import ( 4 "errors" 5 "fmt" 6 libkb "github.com/keybase/client/go/libkb" 7 keybase1 "github.com/keybase/client/go/protocol/keybase1" 8 ) 9 10 // ErrShutdown is raised when an operation is pending but the CA is shutting down 11 var ErrShutdown = errors.New("shutting down") 12 13 // ErrUserDeleted is raised when a user is deleted, but was loaded without the loadDeleted flag 14 var ErrUserDeleted = errors.New("user was deleted") 15 16 // BadUsernameError is raised when the given username disagrees with the expected 17 // username 18 type BadUsernameError struct { 19 expected libkb.NormalizedUsername 20 received libkb.NormalizedUsername 21 } 22 23 func (e BadUsernameError) Error() string { 24 return fmt.Sprintf("bad username; wanted %s but got %s", e.expected, e.received) 25 } 26 27 // BadKeyError is raised when the given KID is not valid for the given UID. 28 type BadKeyError struct { 29 uid keybase1.UID 30 kid keybase1.KID 31 } 32 33 func (e BadKeyError) Error() string { 34 return fmt.Sprintf("Bad key error: %s not active for %s", e.kid, e.uid) 35 } 36 37 // ErrKeysNotEqual is raised when compared keys sets aren't equal. 38 var ErrKeysNotEqual = errors.New("keys not equal") 39 40 // InvalidTokenTypeError is raised when the given token is not of the expected type. 41 type InvalidTokenTypeError struct { 42 expected string 43 received string 44 } 45 46 func (e InvalidTokenTypeError) Error() string { 47 return fmt.Sprintf("Invalid token type, expected: %s, received: %s", 48 e.expected, e.received) 49 } 50 51 // MaxTokenExpiresError is raised when the given token expires too far in the future. 52 type MaxTokenExpiresError struct { 53 creationTime int64 54 expireIn int 55 now int64 56 maxExpireIn int 57 remaining int 58 } 59 60 func (e MaxTokenExpiresError) Error() string { 61 return fmt.Sprintf("Max token expiration exceeded, ctime/expire_in: %d/%d, "+ 62 "now/max: %d/%d, remaining: %d", e.creationTime, e.expireIn, 63 e.now, e.maxExpireIn, e.remaining) 64 } 65 66 // TokenExpiredError is raised when the given token is expired. 67 type TokenExpiredError struct { 68 creationTime int64 69 expireIn int 70 now int64 71 } 72 73 func (e TokenExpiredError) Error() string { 74 return fmt.Sprintf("Token expired, ctime/expire_in: %d/%d, now: %d", 75 e.creationTime, e.expireIn, e.now) 76 } 77 78 // InvalidTokenKeyError is raised when the public key presented in the token does not 79 // correspond to the private key used to sign the token. 80 type InvalidTokenKeyError struct { 81 expected string 82 received string 83 } 84 85 func (e InvalidTokenKeyError) Error() string { 86 return fmt.Sprintf("Invalid token key, expected: %s, received: %s", 87 e.expected, e.received) 88 } 89 90 // InvalidTokenServerError is raised when the server presented in the token does not 91 // correspond to the server being asked to verify the token. 92 type InvalidTokenServerError struct { 93 expected string 94 received string 95 } 96 97 func (e InvalidTokenServerError) Error() string { 98 return fmt.Sprintf("Invalid server in token, expected: %s, received: %s", 99 e.expected, e.received) 100 } 101 102 // InvalidTokenChallengeError is raised when the challenge presented in the token does not 103 // correspond to the challenge of the verifier. 104 type InvalidTokenChallengeError struct { 105 expected string 106 received string 107 } 108 109 func (e InvalidTokenChallengeError) Error() string { 110 return fmt.Sprintf("Invalid challenge in token, expected: %s, received: %s", 111 e.expected, e.received) 112 }