MCPcopy Create free account
hub / github.com/rilldata/rill / RevokeUserAuthToken

Method RevokeUserAuthToken

admin/server/users.go:310–342  ·  view source on GitHub ↗
(ctx context.Context, req *adminv1.RevokeUserAuthTokenRequest)

Source from the content-addressed store, hash-verified

308}
309
310func (s *Server) RevokeUserAuthToken(ctx context.Context, req *adminv1.RevokeUserAuthTokenRequest) (*adminv1.RevokeUserAuthTokenResponse, error) {
311 observability.AddRequestAttributes(ctx,
312 attribute.String("args.token_id", req.TokenId),
313 )
314
315 var tokenID string
316 if req.TokenId == "current" { // Special alias for the current token
317 if auth.GetClaims(ctx).OwnerType() != auth.OwnerTypeUser {
318 return nil, status.Error(codes.PermissionDenied, "not authenticated with a user token")
319 }
320 tokenID = auth.GetClaims(ctx).AuthTokenID()
321 } else {
322 token, err := s.findUserAuthTokenFuzzy(ctx, req.TokenId)
323 if err != nil {
324 return nil, err
325 }
326
327 claims := auth.GetClaims(ctx)
328 forceAccess := claims.Superuser(ctx) && req.SuperuserForceAccess
329 if token.UserID != claims.OwnerID() && !forceAccess {
330 return nil, status.Error(codes.PermissionDenied, "not authorized to revoke auth tokens for other users")
331 }
332
333 tokenID = token.ID
334 }
335
336 err := s.admin.DB.DeleteUserAuthToken(ctx, tokenID)
337 if err != nil {
338 return nil, err
339 }
340
341 return &adminv1.RevokeUserAuthTokenResponse{}, nil
342}
343
344func (s *Server) RevokeAllUserAuthTokens(ctx context.Context, req *adminv1.RevokeAllUserAuthTokensRequest) (*adminv1.RevokeAllUserAuthTokensResponse, error) {
345 observability.AddRequestAttributes(ctx,

Callers

nothing calls this directly

Calls 10

AddRequestAttributesFunction · 0.92
GetClaimsFunction · 0.92
StringMethod · 0.65
OwnerTypeMethod · 0.65
AuthTokenIDMethod · 0.65
SuperuserMethod · 0.65
OwnerIDMethod · 0.65
DeleteUserAuthTokenMethod · 0.65
ErrorMethod · 0.45

Tested by

no test coverage detected