Rate limit
Om allerhande aanvallen (zoals bijvoorbeeld het raden van Authorization Codes) tegen te gaan, worden het aantal foutieve verzoeken per afzender bijgehouden. Indien het aantal foutieve verzoeken vanaf een bepaald IP-adres een limiet overschreidt, dan wordt er gedurende een bepaalde tijd geen enkel verzoek meer voor dit IP-adres verwerkt.
Als de afzender het IP-adres van de toepassing is, dan kan dit ervoor zorgen dat deze toepassing een bepaalde tijd geen authenticaties meer mag aanvragen: een “rate limit” foutmelding wordt dan teruggestuurd.
Foutieve verzoeken zijn onder meer:
- Een Token Request met een onbestaande Authorization Code (bvb. guessing attack)
- Een Token Request met een vervallen Authorization Code (deze is slechts 30 seconden geldig)
- Een Token Request met hergebruik van een bepaalde Authorization Code (deze Codes zijn voor eenmalig gebruik) (bvb. replay attack)
- Een UserInfo Request, waarbij de Client niet geautoriseerd is om het UserInfo Endpoint te gebruiken
- Een Refresh Token Request, waarbij de Client niet geautoriseerd is om Refresh Tokens te gebruiken
- Het gebruik van een onbestaand Refresh Token
- Het hergebruik van een eerder gebruikt Refresh Token (Refresh Tokens zijn voor eenmalig gebruik)
Tip
Gelieve waakzaam te zijn voor configuratiefouten waarbij uw Client bijvoorbeeld toch UserInfo Endpoints en/of Refresh Tokens aanvraagt waar dit niet voorzien was.
Gelieve ook op te letten met de response_mode=query aangezien dit mogelijk sporen van Authorization Codes achterlaat in de browser die de gebruiker zou kunnen refreshen.