Redirect URI Security
Validate redirect URIs against HTTPS enforcement and SSRF prevention rules.
Requirements Coverage
REQ-REDIRECT-001
Block HTTP (non-HTTPS) redirect URIs
REQ-REDIRECT-002
Block localhost redirect URIs in production
REQ-REDIRECT-003
Block private IP addresses in redirect URIs
REQ-REDIRECT-004
Block fragment (#) in redirect URIs
REQ-REDIRECT-005
Enforce maximum redirect URI length
REQ-REDIRECT-006
Support wildcard patterns in redirect URI whitelist
Test Examples
REDIR-001BLOCKED
HTTP redirect URI blocked
Sample Request
curl 'https://keycloak-alg:8443/realms/myapp/protocol/openid-connect/auth?\
response_type=code&client_id=myapp&redirect_uri=http://app.example.com/cb&state=abc'Expected Response
{"error":"invalid_request","error_description":"HTTP redirect URIs are not allowed (HTTPS required)"}REDIR-002BLOCKED
Localhost redirect blocked
Sample Request
curl 'https://keycloak-alg:8443/realms/myapp/protocol/openid-connect/auth?\
response_type=code&client_id=myapp&redirect_uri=https://localhost:3000/cb&state=abc'Expected Response
{"error":"invalid_request","error_description":"Localhost redirect URIs are blocked in production"}