Mam instalację aplikacji Express i potrzebuję porady dotyczącej przechowywania tokenów.Węzeł Express - przechowywanie i pobieranie tokenów uwierzytelniania
Otrzymuję token dostępu z serwera OAuth 2 po uwierzytelnieniu konta użytkownika, które następnie będę musiał użyć dla kolejnych żądań api.
Chcę ukryć wartość tokena od klienta i wierzę, że jednym ze sposobów jest zapisanie tokena na serwerze w zakodowanym pliku cookie, tak aby po otrzymaniu dalszych żądań można je było przekierować za pomocą oprogramowania pośredniego i Plik cookie może być następnie użyty do pobrania strony serwera przechowywanego tokenu, a następnie używany jako wartość nagłówka w bieżącym żądaniu do faktycznego punktu końcowego api.
Ktoś już zadał to pytanie - How to store an auth token in an Angular app To jest dokładnie ten przepływ, nad którym pracuję w mojej aplikacji, ale odpowiedź mówi o używaniu usługi Angular i nie jestem pewien, czy chciałbym to zrobić, z pewnością to wszystko może być obsługiwane przez Express, więc kod po stronie klienta nie musi wiedzieć o tokenie, tylko o błędach, które serwer API zwraca.
Więc podsumowanie przepływu Chyba muszę:
- użytkownik przesyła dane logowania
- powraca OAuth 2 Serwer dostępu żeton
- Reklamowe jest zapisany gdzieś w Express włączył przez id rodzaju
- Plik cookie jest generowany i wysyłany w odpowiedzi na klienta. Cookie może zawierać zakodowaną wartość tokena? A może identyfikator wartości tokena przechowywany w komponencie Express middleware?
- Klient wysyła żądanie interfejsu API, które podnosi oprogramowanie pośrednie trasy ekspresowej.
- Ekspresowa kontrola obecności pliku cookie i dekoduje wartość tokena, lub w jakiś sposób pobiera ze strony serwera mechanizmu pamięci masowej.
- Reklamowe wartość jest następnie wykorzystywana jako nagłówek między jednoznacznej i ostatecznej końcowym api
Prawdopodobnie oprogramowania pośredniego już, że obecnie nie obsługuje tej kinda rzecz, ja już widziałem PassportJS który wydaje się być trochę rzeczą, jaką może chcę go użyć, ale nie jestem pewien, czy obsługuje on przepływ tokenu OAuth2 na serwerze, na którym pracuję (przyznanie hasła) i zamiast tego wydaje się bardziej odpowiedni do przepływu OAuth przekierowania logowania.
Z pewnością potrzebuję gdzieś zapisać wartość tokena w Expressie, więc w jakiejś formie pamięci (nie w pamięci, nie sądzę).
Jestem dość nowy w Express, więc doceniam wszelkie sugestie \ porady, jak się do tego podejść.
Dzięki
Po otrzymaniu tokena z serwera Oauth2 można go zapisać po stronie użytkownika. Możesz użyć cookie lub localstorage HTML 5. – trquoccuong
Dobrze, podejście cookie jest tym, co myślę, ale musiałoby zakodować wartość tokena z powrotem do klienta, a następnie to jest dekodowane za każdym razem dla kolejnych żądań Express do końcowy punkt końcowy. – mindparse