https://github.com/akshayxml/token-orchestrator
A server capable of generating, assigning, and managing API keys with specific functionalities. The server should offer various endpoints for interaction:
https://github.com/akshayxml/token-orchestrator
expressjs nodejs server token-orchestrator
Last synced: 3 months ago
JSON representation
A server capable of generating, assigning, and managing API keys with specific functionalities. The server should offer various endpoints for interaction:
- Host: GitHub
- URL: https://github.com/akshayxml/token-orchestrator
- Owner: akshayxml
- Created: 2024-04-04T14:26:47.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-04-04T14:30:47.000Z (about 1 year ago)
- Last Synced: 2025-01-25T04:09:47.551Z (5 months ago)
- Topics: expressjs, nodejs, server, token-orchestrator
- Language: JavaScript
- Homepage:
- Size: 1.95 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# Token Orchestrator
A server capable of generating, assigning, and managing API keys with specific functionalities. The server should offer various endpoints for interaction:
## Features
- An endpoint to create new keys.
- An endpoint to retrieve an available key, ensuring the key is randomly selected and not currently in use. This key should then be blocked from being served again until its status changes. If no keys are available, a 404 error should be returned.
- An endpoint to unblock a previously assigned key, making it available for reuse.
- An endpoint to permanently remove a key from the system.
- An endpoint for key keep-alive functionality, requiring clients to signal every 5 minutes to prevent the key from being deleted.
- Automatically release blocked keys within 60 seconds if not unblocked explicitly.## Endpoints
- POST /keys: Generate new keys.
- GET /keys: Retrieve an available key for client use.
- HEAD /keys/:id: Provide information (e.g., assignment timestamps) about a specific key.
- DELETE /keys/:id: Remove a specific key, identified by :id, from the system.
- PUT /keys/:id: Unblock a key for further use.
- PUT /keepalive/:id: Signal the server to keep the specified key, identified by :id, from being deleted.