Na een upgrade naar 7.4.5 kan het gebeuren dat de FortiGate REST API een HTTP 401 terug geeft in uw applicatie, terwijl de API key geconfigureerd in de applicatie ongewijzigd is of volledig correct geconfigureerd is. Als u het https proces gaat debuggen op de FortiGate, ziet u het volgende:
diagnose debug reset
diagnose debug application httpsd -1
diagnose debug enable
[httpsd 356 – 1729082777 info] fweb_debug_init[531] — New GET request for “/api/v2/monitor/web-ui/state” from “12.23.34.45:34948”
[httpsd 356 – 1729082777 info] fweb_debug_init[533] — User-Agent: “(null)”
[httpsd 356 – 1729082777 info] fweb_debug_init[535] — Handler “api_monitor_v2-handler” assigned to request
[httpsd 356 – 1729082777 warning] _extract_key_param[97] — REST API key in URL parameters is disabled.
[httpsd 356 – 1729082777 warning] _extract_key_param[97] — REST API key in URL parameters is disabled.
[httpsd 356 – 1729082777 info] fweb_debug_final[355] — Completed GET request for “/api/v2/monitor/web-ui/state” (HTTP 401 Unauthorized)
Dit komt doordat sinds 7.4.5 een veiligheidsfeature door Fortinet geïmplementeerd is waarbij het aanleveren van een token via GET request via de URL niet standaard meer toegestaan is.
Een REST API call met token in de URL ziet er bijvoorbeeld als volgt uit:
https://fortigate:2443/api/v2/monitor/web-ui/state?access_token=(Token)
Dit wordt dus per standaard niet meer toegelaten sinds FortiOS 7.4.5. De nieuwe manier is door gebruik te maken van de Authorization header in HTTP met als inhoud “Bearer (Token)”. Als u alsnog gebruik wilt maken van Tokens via URL, kunt u dit als volgt aanzetten in uw FortiGate:
config system global
set rest-api-key-url-query enable
end






