feat: list access tokens by admin (#2434)

* Allow admin user list access_tokens of anyone

* fix undefined variable

* Update api/v2/user_service.go

---------

Co-authored-by: boojack <stevenlgtm@gmail.com>
This commit is contained in:
Athurg Gooth 2023-10-24 18:51:01 +08:00 committed by GitHub
parent 79bbe4b82a
commit 496cde87b2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -156,7 +156,12 @@ func (s *UserService) ListUserAccessTokens(ctx context.Context, request *apiv2pb
if err != nil {
return nil, status.Errorf(codes.Internal, "failed to get current user: %v", err)
}
if user == nil || user.Username != request.Username {
if user == nil {
return nil, status.Errorf(codes.PermissionDenied, "permission denied")
}
// Normal users can only list their access tokens.
if user.Role == store.RoleUser && user.Username != request.Username {
return nil, status.Errorf(codes.PermissionDenied, "permission denied")
}