multiAI Summary Pending

frontend-api-client-with-jwt

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

231 stars

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/frontend-api-client-with-jwt/SKILL.md --create-dirs "https://raw.githubusercontent.com/aiskillstore/marketplace/main/skills/abdul-haseeb360/frontend-api-client-with-jwt/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/frontend-api-client-with-jwt/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How frontend-api-client-with-jwt Compares

Feature / Agentfrontend-api-client-with-jwtStandard Approach
Platform SupportmultiLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

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

Which AI agents support this skill?

This skill is compatible with multi.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# 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>")

### 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