Próbuję stworzyć stronę internetową za pomocą metody reakcji + redux. Mam już skonfigurowane uwierzytelnianie jwt na serwerze. Co chcę zrobić, to leniwy załadować niektóre z moich komponentów/pojemników i reduktorów, aby mogły być pobierane tylko przez uwierzytelnionych użytkowników. Już wiem, jak ukrywać komponenty przed nieuwierzytelnionymi użytkownikami (po stronie klienta), ale wolałbym, aby nie pobierano kodu względnego javascript.Leniwy element ładujący wymagający uwierzytelnienia z reagującym reduxem
Używam webpacka i już sprawdziłem router reagowania i require-ensure
(https://stackoverflow.com/a/33044701/2920112), ale to podejście w ogóle nie obsługuje uwierzytelniania. Rozważałem też w pewnym sensie używanie fetch
(prawdopodobnie łączenie prywatnego kodu oddzielnie z pakietem internetowym), ale nie wiedziałbym, co zrobić z pakietem po jego pobraniu.
Czy podchodzę do problemu w niewłaściwy sposób? Jedyną alternatywą jaką widzę jest dostarczenie dwóch plików HTML, jeden ładujący pakiet Webpack tylko z publiczną treścią i jeden pobierający również prywatny kod. Wydaje się to jednak naprawdę nieoptymalne. Jakie jest prawidłowe podejście?
Uważam, że można użyć opcji "wymagaj-zapewnienia", wystarczy dołączyć własną logikę uwierzytelniania. Uwierzytelnienie użytkownika zmienia to, co wywołujesz za pomocą 'require.ensure()' i jaki komponent przekażesz do wywołania zwrotnego 'cb'. – Lucas
Znalazłeś rozwiązanie? Mam podobny problem. Wszystkie zasoby są chronione i wymagają tokena w nagłówku żądania. Nie wiem, jak przejąć cokolwiek, co require.insure robi w tle, aby wysłać token podczas pobierania następnego fragmentu. –