Witam!
Mam kilka pytań dotyczących tego w jaki sposób zaprogramować interakcję użytkownika z API aby było to "bezpieczne".
Co mam / Co zostało zrobione:
- aplikacja www (nazwijmy ją app.com) typu one-pager, która do komunikacji z serwerem korzysta wyłącznie z zapytań AJAX do API
- restowe api - api.app.com (TLS)
- system uwierzytelniania, który zwraca token JWT służący potem do przesyłania w nagłówku HTTP i do autoryzacji zapytań
Z czym mam problem:
- token muszę gdzieś przechowywać - wybór padł na cookie. Ale rozumiem że to ciastko ma być tworzone przez JS po stronie klienta a nie przez serwer?
- w jaki sposób ma działać same-origin policy? co z atakami CSRF?
- i co w przypadku gdybym potem chciał użyć api do aplikacji mobilnej, jak to się ma do SOP?
Bardzo proszę o poradę i pozdrawiam.