Zapobieganie atakom typu CSRF (Cross-Site Request Forgery)

Aby zapobiec atakom typu CSRF (Cross-Site Request Forgery), wszystkie wywołania interfejsu API operacji w chmurze wymagają ustawienia znacznika IBM-CSRF-Token w nagłówku HTTP każdego żądania.

Aplikacja operacyjna musi uzyskać znacznik CSRF przez wywołanie interfejsu REST API POST /instance/services/csrf_token z treścią JSON, która jest podobna do poniższego przykładu.
{
  "requested_lifetime": 7200
}
Właściwość requested_lifetime służy do podawania czasu ważności (liczba sekund) znacznika. Jeśli wartość nie zostanie podana, domyślnie przyjmuje się maksymalną dozwoloną wartość 7200 sekund. Razem z wywołaniem zawsze należy wysłać ładunek (nawet jeśli będzie on pusty). Znacznik jest zwracany jako łańcuch we właściwości csrf_token obiektu odpowiedzi.

Jeśli wywołanie zawiera znacznik, który utracił ważność, kończy się niepowodzeniem z kodem odpowiedzi HTTP 403 i błędem.CWMGG0015E: The request was blocked because the IBM-CSRF-TOKEN token header is not validw odpowiedzi. Aby pobrać nowy token, aplikacja operacji musi ponownie wywołać operację POST /instance/services/csrf_token . Aplikacja może następnie użyć nowego znacznika, aby ponownie wysłać żądanie, które zostało zakończone niepowodzeniem.