Claude Code Plugins

Community-maintained marketplace

Feedback

A conceptual skill for building an API client in Next.js that handles JWT tokens

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name Frontend API Client with JWT
category API Integration
author Claude
version 1.0.0
tags nextjs, api-client, jwt, authentication, frontend
description A conceptual skill for building an API client in Next.js that handles JWT tokens

Frontend API Client with JWT Skill

When to Use This Skill

Use this conceptual skill when you need to implement a robust API client in Next.js that properly handles JWT tokens for authentication. This skill is appropriate for:

  • Creating centralized API communication layer in Next.js applications
  • Managing JWT-based authentication across multiple API endpoints
  • Handling token expiration and refresh scenarios
  • Standardizing error response parsing and handling
  • Implementing secure API communication patterns

This skill should NOT be used for:

  • Applications without JWT-based authentication
  • Static sites without API communication needs
  • Applications using alternative authentication methods (API keys, OAuth 2.0 client credentials, etc.)
  • Simple applications with minimal API interaction

Prerequisites

  • Next.js application (either App Router or Pages Router)
  • Understanding of JWT (JSON Web Token) concepts
  • Knowledge of HTTP headers and authorization mechanisms
  • Basic understanding of asynchronous JavaScript operations
  • Awareness of client-side vs server-side execution contexts

Conceptual Implementation Framework

Authorization Header Attachment Capability

  • Automatically attach JWT tokens to API requests as Authorization headers
  • Determine when to include tokens based on request type and endpoint
  • Handle token attachment for both client-side and server-side requests
  • Manage token inclusion in cross-origin requests appropriately
  • Ensure proper header formatting ("Bearer ")

Token Expiry Handling Capability

  • Detect JWT token expiration before making API requests
  • Implement automatic token refresh mechanisms
  • Handle token refresh failures gracefully
  • Maintain session continuity during token refresh
  • Coordinate token refresh across multiple concurrent requests
  • Store updated tokens securely after refresh

Error Response Parsing Capability

  • Parse structured error responses from API endpoints
  • Identify authentication-related errors (401, 403) for special handling
  • Extract meaningful error messages for user feedback
  • Handle different error response formats consistently
  • Distinguish between client errors, server errors, and network issues
  • Provide appropriate user feedback based on error types

API Call Centralization Capability

  • Create a unified interface for all API communications
  • Standardize request and response handling across the application
  • Implement consistent error handling and logging
  • Manage request/response interceptors for cross-cutting concerns
  • Provide type-safe API call patterns (when using TypeScript)
  • Enable request caching and deduplication where appropriate

Expected Input/Output

Input Requirements:

  1. JWT Token Management:

    • Valid JWT token for authorization
    • Token refresh endpoint configuration
    • Token storage mechanism (localStorage, cookies, etc.)
    • Token expiration time and refresh timing
  2. API Configuration:

    • Base API URL for requests
    • Request timeout settings
    • Custom headers and request options
    • Endpoint-specific configurations
  3. Request Parameters:

    • HTTP method (GET, POST, PUT, DELETE, etc.)
    • Request URL or endpoint identifier
    • Request body for POST/PUT operations
    • Query parameters and path variables

Output Formats:

  1. Successful API Response:

    • HTTP 200-299 status codes
    • Parsed response data matching expected format
    • Updated token information when applicable
    • Consistent response structure across all endpoints
  2. Authentication Error Response:

    • HTTP 401 Unauthorized for expired/invalid tokens
    • Automatic token refresh attempt
    • Redirect to login page after refresh failure
    • Clear error messaging for authentication issues
  3. Authorization Error Response:

    • HTTP 403 Forbidden for insufficient permissions
    • Appropriate error handling based on permission level
    • User feedback for access restriction
  4. General Error Response:

    • Structured error object with message and code
    • Appropriate HTTP status code
    • Detailed error information for debugging
    • User-friendly error messages for UI display

Integration Patterns

Client-Side Integration

  • Handle API calls from client components and client-side rendering
  • Manage token storage and retrieval in browser context
  • Implement request interceptors for header attachment
  • Coordinate with authentication state management

Server-Side Integration (when applicable)

  • Handle API calls from server components
  • Manage token transmission securely between server and client
  • Implement server-side token validation
  • Handle server-side error responses appropriately

React Component Integration

  • Provide hooks for API communication in functional components
  • Enable context-based API client access
  • Support both functional and class component patterns
  • Implement proper cleanup and cancellation mechanisms

Security Considerations

  1. Token Storage: Secure JWT token storage to prevent XSS attacks
  2. Header Transmission: Use HTTPS for all API communications
  3. Token Refresh: Implement secure token refresh mechanisms
  4. Error Information: Avoid exposing sensitive information in error messages
  5. Request Validation: Validate request parameters before sending
  6. Response Validation: Verify response integrity and format
  7. Cross-Site Requests: Implement proper CORS handling

Performance Implications

  • Optimize token retrieval and attachment for minimal overhead
  • Implement efficient token refresh to avoid blocking requests
  • Consider request caching strategies for improved performance
  • Minimize redundant API calls through proper state management
  • Implement request batching where appropriate
  • Monitor and optimize network request timing

Error Handling and Validation

  • Validate JWT token format and expiration before requests
  • Handle network connectivity issues gracefully
  • Implement retry mechanisms for transient failures
  • Provide fallback behaviors for critical API failures
  • Log errors appropriately for debugging without exposing sensitive information
  • Implement circuit breaker patterns for service resilience

Testing Considerations

  • Test token attachment functionality with valid/invalid tokens
  • Verify token refresh mechanisms work correctly
  • Validate error response parsing across different error types
  • Test API client behavior in both client and server contexts
  • Verify proper cleanup and cancellation of requests
  • Test concurrent request handling and token refresh coordination