auth-my-library
v1.1.3
Published
A framework-agnostic API interceptor for fetch and XHR requests.
Maintainers
Readme
Auth Library
A framework-agnostic Auth Library that automatically intercepts all API calls (Fetch & XHR) and adds an authentication token without requiring any changes in the application code.
Features
- 🚀 Framework Agnostic – Works in any JavaScript/TypeScript project.
- 🔄 Automatic Token Handling – Attaches a token to every API request.
- 🔍 Intercepts All Requests – Works with both
fetchandXMLHttpRequest. - ✅ No Dependencies – Lightweight and efficient.
- 🔧 Zero Configuration – Works without modifying API requests in the application.
Installation
You can install the package via npm:
npm i auth-my-libraryOr include it directly in an HTML file via CDN:
<script src="https://unpkg.com/auth-my-library/lib/api-interceptor.js"></script>Usage
1. Import & Initialize
For JavaScript/TypeScript projects:
import { APIInterceptor } from "api-interceptor";
const interceptor = new APIInterceptor();This automatically intercepts all API calls and appends the authorization token without requiring any manual modifications in API requests.
2. Making API Calls
After initializing, just use fetch or XMLHttpRequest as usual:
fetch("https://api.example.com/data")
.then(response => response.json())
.then(data => console.log(data));The interceptor will automatically add the token to every request without requiring application-level modifications.
Configuration
If needed, you can customize token retrieval by extending the APIInterceptor class:
class CustomInterceptor extends APIInterceptor {
async getToken(): Promise<string> {
return "your-custom-token"; // Fetch token from your API or storage
}
}
const interceptor = new CustomInterceptor();Contributing
Contributions are welcome! Feel free to submit issues or pull requests.
Version
1.0.0 → 1.0.1 (Bug fixes) 1.0.0 → 1.1.0 (New features, backward compatible) 1.0.0 → 2.0.0 (Breaking changes)
Author
[Abhishek Kumar Yadav]
GitHub: github.com/kumaryabhi
License
This project is licensed under the MIT License. See the LICENSE file for details.
