-
Notifications
You must be signed in to change notification settings - Fork 152
REST Security Updates and consistency
When REST API clients send update requests against your API, you MUST perform some basic checks:
- if a client tries to update //, then the in the URL MUST match the UUID provided in the updated resource representation
- inconsistency means either that the client was badly implemented, or that the client is malicious
- ✅ this check is handled by the CORE framework if you use the provided facilities
- the ETag value passed by REST API clients for updates MUST be opaque and protected against manipulation by the clients; this is important because otherwise clients could manipulate update requests to update data using stale data
- ✅ this check is handled by the CORE framework if you use the provided facilities
- the ETag values are calculated by the framework based on
- the time stamp at noon of the current day
- the last modification time stamp of the entity
- the ETag is then hashed and encrypted using a key known only by the back-end application
- this ensures that clients cannot forge ETag values
- the ETag values are calculated by the framework based on
- ✅ this check is handled by the CORE framework if you use the provided facilities
This project is distributed under the terms of the EUPL FOSS license
REST Resources Design Workflow
REST Resources Single items and collections
REST Resources Many to many Relations
REST Resources Relations expansion
HTTP Status Codes Success (2xx)
HTTP Status Codes Redirection (3xx)
HTTP Status Codes Client Error (4xx)
HTTP Status Codes Server Error (5xx)
Pagination Out of range/bounds
Long-running Operations Example
Concurrency vs Delete operation
Caching and conditional requests About
Caching and conditional requests Rules
Caching and conditional requests HTTP headers
Error handling Example with a single error
Error handling Example with multiple errors
Error handling Example with parameters
Error handling Example with additional metadata
Bulk operations HTTP status codes
Bulk operations Resources naming convention
Bulk operations Creation example
Bulk operations Update example
Bulk operations Create and update example
File upload Simple file upload
File upload Simple file upload example
File upload Complex file upload
File upload Complex file upload example
REST Security General recommendations
REST Security Insecure direct object references