/ / jak tworzyć żądania javascript używając informacji logowania z innej strony - javascript, node.js, cookies, cross-domain

jak tworzyć żądania javascript używając informacji logowania z innej strony - javascript, node.js, cookies, cross-domain

Mam następujący scenariusz. Mam witrynę Uruchomiony plik node.js, w którym użytkownicy mogą się logować, a następnie wykonywać zadania za pomocą różnych wywołań interfejsu API JavaScript. Kiedy się logują, przypisuję im plik cookie, który jest używany przy tworzeniu wszystkich żądań internetowych i w ten sposób mogę śledzić, ile zgłoszeń już wykonano.

Teraz chcę, aby inna strona B także była w staniezużywać API dostarczony przez stronę A. Mam pytanie, w jaki sposób użytkownicy na stronie B mogą uzyskać plik cookie, który pozwoli im wysyłać żądania do strony A, bez przechodzenia na stronę A i logowania się tam. Jeśli utworzę żądanie logowania w wielu domenach za pomocą konta domyślnego, nie będę mógł pobrać z niego plików cookie przypisanych w odpowiedzi.

Jeśli to możliwe, unikałbym używania czegoś takiego jak parametr SECRET_KEY w żądaniach pobierania z witryny B do A, ponieważ korzystam z modułu sesji węzła, który ładuje sesje na podstawie plików cookie.

Odpowiedzi:

1 dla odpowiedzi № 1

Jedynym sposobem na zrobienie tego jest wysłanie strony Acofnij ciasteczka wieloznaczne, które zawierają zarówno domenę A, jak i domenę B. Pamiętaj, że możesz otworzyć dużą lukę w zabezpieczeniach, jeśli Twoja domena A i domena B są domenami drugiego poziomu.

Lub spraw, aby kod w domenie B korzystał z przeglądarki klienta jakokanał do domeny A. Możesz przesłać kod JavaScript z domeny B do przeglądarki użytkownika, który będzie używał interfejsu API w domenie A i przepuścić wyniki do domeny B. Ale nawet w tym przypadku musisz zająć się nagłówkami CORS na obu boki. W przeciwnym razie przeglądarka nie będzie ufać kodowi z domeny B, aby wysłać żądania do domeny A.