RevokeAuthToken removes an auth token from persistent storage.
(ctx context.Context, token string)
| 248 | |
| 249 | // RevokeAuthToken removes an auth token from persistent storage. |
| 250 | func (s *Service) RevokeAuthToken(ctx context.Context, token string) error { |
| 251 | parsed, err := authtoken.FromString(token) |
| 252 | if err != nil { |
| 253 | return err |
| 254 | } |
| 255 | switch parsed.Type { |
| 256 | case authtoken.TypeUser: |
| 257 | return s.DB.DeleteUserAuthToken(ctx, parsed.ID.String()) |
| 258 | case authtoken.TypeService: |
| 259 | return s.DB.DeleteServiceAuthToken(ctx, parsed.ID.String()) |
| 260 | case authtoken.TypeDeployment: |
| 261 | return fmt.Errorf("deployment auth tokens cannot be revoked") |
| 262 | case authtoken.TypeMagic: |
| 263 | return s.DB.DeleteMagicAuthToken(ctx, parsed.ID.String()) |
| 264 | default: |
| 265 | return fmt.Errorf("unknown auth token type %q", parsed.Type) |
| 266 | } |
| 267 | } |
| 268 | |
| 269 | // PurgeAuthTokenCache purges the short-term in-memory auth token cache. |
| 270 | func (s *Service) PurgeAuthTokenCache() { |
no test coverage detected