Wpis z mikrobloga

#programowanie #webdev #graphql

Zastanawia mnie, czy GraphQL nie jest czasem aby dosyć niebezpieczny? Wiadomo, że niby można sprawdzać jakieś tokeny z claimami przy zapytaniu czy ktoś nie chce aby więcej niż mu wolno, ale sam fakt ujawniania struktury danych na zewnątrz mi się nie podoba.

Osobiście dużo bezpieczniej się czuję z jakimś RESTowym zapytaniem które po prostu coś zwraca ale nie wiadomo skąd i jak. Moim zdaniem lepiej na wszelki wypadek aby nikt nie wiedział jak się zapytania buduje.
  • 5
  • Odpowiedz
@Narrorek: No ja rozumiem, że to jest wygodne od strony frontu, ale z punktu widzenia spokojnego snu w nocy i łatwiejszego debugowania, jeśli nie jestem czegoś w stanie w pełni zawrzeć w URLu - to jak dotąd co prawda na użytku wewnętrznym a nie jako publiczne API po prostu przekazywaliśmy POSTem JSONa z odpowiednimi flakami takimi aby backend był w stanie zrozumieć o co jest pytany - ale to pojedyncze przypadki
  • Odpowiedz
@Khaine: przepraszam ale ja z GraphQL nie mam nic wspólnego - zauważyłem dzisiaj jedynie wpis na 4programmers i pomyślałem że Ciebie może zainteresować do dyskusji. Sam sie nie wypowiem.
  • Odpowiedz
@Khaine: po pierwsze jak masz API to chcesz żeby było uzywalne, po to je wystawiasz w końcu i dajesz dokumentację, argument że lepiej żeby nikt nie widział ani co może wysłać czy pobrać jest dziwny, to nawet nie jest bezpieczeństwo, chyba że polecasz rozwiązania 'w głębokim ukryciu' do zabezpieczenia ;-)

I drugie to API zawsze zwraca i przyjmuje coś co backend zrozumie, ale nie jest to entity 1 do 1, a
  • Odpowiedz
@Khaine: problemy które opisujesz aplikują się także do restowych api, więc nie widze tutaj szczególnych wad GraphQL

ale sam fakt ujawniania struktury danych na zewnątrz mi się nie podoba.


HATEOAS czy definicje API w stylu OpenAPI przedstawiają całe API i nikt nie narzeka na bezpieczeństwo. Bezpieczne API ma być bezpiecznie niezależnie od wysyłanych requestów, a nie od tego, czy ktoś wie jaka jest struktura

Poza tym kompletnie nie widzę tego w
  • Odpowiedz