mirror of
https://github.com/netbirdio/netbird.git
synced 2024-11-23 00:23:36 +01:00
change error messages
This commit is contained in:
parent
94d39ab48c
commit
311b67fe5a
@ -1122,40 +1122,40 @@ func (am *DefaultAccountManager) redeemInvite(account *Account, userID string) e
|
|||||||
// GetAccountFromPAT returns Account and User associated with a personal access token
|
// GetAccountFromPAT returns Account and User associated with a personal access token
|
||||||
func (am *DefaultAccountManager) GetAccountFromPAT(token string) (*Account, *User, error) {
|
func (am *DefaultAccountManager) GetAccountFromPAT(token string) (*Account, *User, error) {
|
||||||
if len(token) != PATLength {
|
if len(token) != PATLength {
|
||||||
return nil, nil, fmt.Errorf("token invalid")
|
return nil, nil, fmt.Errorf("token has wrong length")
|
||||||
}
|
}
|
||||||
|
|
||||||
prefix := token[:len(PATPrefix)]
|
prefix := token[:len(PATPrefix)]
|
||||||
if prefix != PATPrefix {
|
if prefix != PATPrefix {
|
||||||
return nil, nil, fmt.Errorf("token invalid")
|
return nil, nil, fmt.Errorf("token has wrong prefix")
|
||||||
}
|
}
|
||||||
secret := token[len(PATPrefix) : len(PATPrefix)+PATSecretLength]
|
secret := token[len(PATPrefix) : len(PATPrefix)+PATSecretLength]
|
||||||
encodedChecksum := token[len(PATPrefix)+PATSecretLength : len(PATPrefix)+PATSecretLength+PATChecksumLength]
|
encodedChecksum := token[len(PATPrefix)+PATSecretLength : len(PATPrefix)+PATSecretLength+PATChecksumLength]
|
||||||
|
|
||||||
verificationChecksum, err := base62.Decode(encodedChecksum)
|
verificationChecksum, err := base62.Decode(encodedChecksum)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, nil, fmt.Errorf("token invalid")
|
return nil, nil, fmt.Errorf("token checksum decoding failed: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
secretChecksum := crc32.ChecksumIEEE([]byte(secret))
|
secretChecksum := crc32.ChecksumIEEE([]byte(secret))
|
||||||
if secretChecksum != verificationChecksum {
|
if secretChecksum != verificationChecksum {
|
||||||
return nil, nil, fmt.Errorf("token invalid")
|
return nil, nil, fmt.Errorf("token checksum does not match")
|
||||||
}
|
}
|
||||||
|
|
||||||
hashedToken := sha256.Sum256([]byte(token))
|
hashedToken := sha256.Sum256([]byte(token))
|
||||||
tokenID, err := am.Store.GetTokenIDByHashedToken(string(hashedToken[:]))
|
tokenID, err := am.Store.GetTokenIDByHashedToken(string(hashedToken[:]))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, nil, fmt.Errorf("token invalid")
|
return nil, nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
user, err := am.Store.GetUserByTokenID(tokenID)
|
user, err := am.Store.GetUserByTokenID(tokenID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, nil, fmt.Errorf("token invalid")
|
return nil, nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
account, err := am.Store.GetAccountByUser(user.Id)
|
account, err := am.Store.GetAccountByUser(user.Id)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, nil, fmt.Errorf("token invalid")
|
return nil, nil, err
|
||||||
}
|
}
|
||||||
return account, user, nil
|
return account, user, nil
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user