slogan3

Ontwikkel een OpenAPI Specificatie voor Geavanceerde API Authenticatie en Autorisatie

description

Met deze prompt kun je een OpenAPI specificatie ontwerpen die geavanceerde beveiligingsmaatregelen voor authenticatie en autorisatie beschrijft. Dit helpt je API beschermen tegen ongeautoriseerde toegang, verhoogt de controle over wie welke resources kan gebruiken en maakt de integratie met beveiligingsprotocollen eenvoudiger. Het is effectiever dan standaard specificaties omdat het expliciet complexe beveiligingsregels documenteert, wat ontwikkelaars en beveiligingsteams ondersteunt.

prompt

Help me een OpenAPI specificatie te maken die geavanceerde authenticatie- en autorisatiemechanismen beschrijft om de veiligheid van mijn API te verbeteren. API Naam: <voer de naam van mijn API in> Authenticatie Methodes (bijv. OAuth2, JWT, API keys): <beschrijf de authenticatie methoden> Autorisat ...

try_prompt

generate_helper
disclaimerOnPageApi

ai_answers

provider: openai
model: gpt-4.1-nano
openapi: 3.0.3 info: title: E-commerce API version: 1.0.0 description: > Deze API ondersteunt geavanceerde authenticatie- en autorisatiemechanismen voor een veilige toegang tot e-commerce gegevens. servers: - url: https://api.voorbeeld.com description: Productie server components: securitySchemes: OAuth2Auth: type: oauth2 flows: authorizationCode: authorizationUrl: https://auth.voorbeeld.com/oauth/authorize tokenUrl: https://auth.voorbeeld.com/oauth/token scopes: read: Lees toegang tot gegevens write: Schrijftoegang tot gegevens ApiKeyAuth: type: apiKey in: header name: X-API-Key security: - OAuth2Auth: - read - ApiKeyAuth: [] paths: /producten: get: summary: Lijst van producten description: Haalt een lijst op van producten. Vereist 'read' scope. security: - OAuth2Auth: - read - ApiKeyAuth: [] responses: '200': description: Een lijst met producten content: application/json: schema: type: array items: $ref: '#/components/schemas/Product' post: summary: Voeg een nieuw product toe description: Voegt een nieuw product toe. Vereist 'write' scope. security: - OAuth2Auth: - write - ApiKeyAuth: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Product' responses: '201': description: Product succesvol aangemaakt components: schemas: Product: type: object properties: id: type: string description: Unieke identifier van het product naam: type: string prijs: type: number format: float voorraad: type: integer description: Hoeveelheid op voorraad ```
provider: deepseek
model: deepseek-chat
Zeker, hier is een OpenAPI 3.0.0-specificatie in YAML voor jouw E-commerce API met de gevraagde beveiligingsmechanismen: ```yaml openapi: 3.0.0 info: title: E-commerce API description: Veilige E-commerce API met geavanceerde authenticatie en autorisatie version: 1.0.0 contact: name: API Support email: support@ecommerce-api.nl servers: - url: https://api.ecommerce.nl/v1 description: Beveiligde productieserver paths: /products: get: summary: Productenlijst ophalen description: Haal een lijst van producten op (lezen rechten vereist) security: - OAuth2: [products:read] - ApiKeyAuth: [] responses: '200': description: Succesvolle response '401': description: Niet geauthenticeerd '403': description: Geen toegangsrechten post: summary: Nieuw product toevoegen description: Voeg een nieuw product toe (schrijven rechten vereist) security: - OAuth2: [products:write] responses: '201': description: Product succesvol aangemaakt '401': description: Niet geauthenticeerd '403': description: Geen schrijfrechten /orders: get: summary: Bestellingen ophalen description: Haal bestellingen op (lezen rechten vereist) security: - OAuth2: [orders:read] - ApiKeyAuth: [] responses: '200': description: Succesvolle response '401': description: Niet geauthenticeerd '403': description: Geen toegangsrechten components: securitySchemes: OAuth2: type: oauth2 description: OAuth2 authorization code flow met rolgebaseerde toegang flows: authorizationCode: authorizationUrl: https://auth.ecommerce.nl/authorize tokenUrl: https://auth.ecommerce.nl/token scopes: products:read: Producten lezen products:write: Producten schrijven orders:read: Bestellingen lezen orders:write: Bestellingen schrijven users:read: Gebruikersgegevens lezen ApiKeyAuth: type: apiKey in: header name: X-API-Key description: API key voor beperkte toegang tot leesoperaties schemas: Product: type: object properties: id: type: integer format: int64 name: type: string price: type: number format: float category: type: string Order: type: object properties: id: type: integer format: int64 productId: type: integer quantity: type: integer status: type: string enum: [pending, confirmed, shipped, delivered] responses: UnauthorizedError: description: Authenticatie token ontbreekt of is ongeldig content: application/json: schema: type: object properties: error: type: string example: "Unauthorized" message: type: string example: "Authenticatie vereist" ForbiddenError: description: Gebruiker heeft onvoldoende rechten voor deze actie content: application/json: schema: type: object properties: error: type: string example: "Forbidden" message: type: string example: "Onvoldoende rechten" security: - OAuth2: [] - ApiKeyAuth: [] ``` **Belangrijke kenmerken van deze specificatie:** 1. **Beveiligingsschema's**: - OAuth2 met authorization code flow voor gebruikersauthenticatie - API Key authenticatie voor service-to-service communicatie 2. **Rolgebaseerde toegang met scopes**: - `products:read` - Producten lezen - `products:write` - Producten aanmaken/bewerken - `orders:read` - Bestellingen lezen - `orders:write` - Bestellingen beheren 3. **Veiligheidsmaatregelen**: - HTTPS verplicht (zie servers URL) - X-API-Key header voor API key authenticatie - Duidelijke foutresponses voor autorisatiefouten 4. **Flexibele beveiliging**: - Endpoints kunnen zowel OAuth2 als API Key authenticatie accepteren - Globale beveiliging gecombineerd met endpoint-specifieke vereisten Deze specificatie biedt een robuust kader voor het implementeren van veilige toegangscontrole in jouw E-commerce API.