Skip to content
Snippets Groups Projects

Resolve "Improve token usage for users"

Merged Neil-Jocelyn Schark requested to merge 378-improve-token-usage-for-users into master
2 files
+ 33
15
Compare changes
  • Side-by-side
  • Inline
Files
2
@@ -183,21 +183,9 @@ func (s AuthServer) handleLogout(ctx context.Context, userName string) error {
return err
}
storedTokens := storedUser.GetTokens()
foundToken := false
for _, storedToken := range storedTokens {
if storedToken == token {
err := storedUser.RemoveToken(token)
if err != nil {
return status.Errorf(codes.Aborted, "error checking match of token provied for user")
}
foundToken = true
break
}
}
if !foundToken {
return status.Errorf(codes.Aborted, "missing match of token provied for user")
err = removeTokenFromUserIfExists(storedUser, token)
if err != nil {
status.Errorf(codes.Aborted, "Error removing token from user, it was either already logged out or otherwise not found")
}
err = s.userService.Update(&rbac.User{UserID: storedUser.ID(),
@@ -227,3 +215,17 @@ func addTokenAndEnsureTokenLimit(userToUpdate rbacInterfaces.User, token string)
}
return nil
}
func removeTokenFromUserIfExists(storedUser rbacInterfaces.User, token string) error {
storedTokens := storedUser.GetTokens()
for _, storedToken := range storedTokens {
if storedToken == token {
err := storedUser.RemoveToken(token)
if err != nil {
return errors.New("could not remove token from user")
}
return nil
}
}
return errors.New("token not found for user")
}
Loading