Więcej ogólnych pytań na temat niektórych propozycji wdrożenia systemu uwierzytelniania opartego na tokenach, uzasadnionego faktem, że Node.js nie ma gotowego produktu .Uwierzytelnianie oparte na tokenach (w Node.js)
Ponieważ chcemy zbudować serwer API bez stanu do manipulowania naszym magazynem danych, chcemy zapewnić naszym użytkownikom token uwierzytelniania ("bilet do jazdy"), który będzie zawarty w każdym wywołaniu API.
Pytanie, w jaki sposób wygenerować token w bezpieczny sposób.
[idea 1] - użytkownik żąda tokenu uwierzytelniania poprzez wysłanie (identyfikator użytkownika, hasło-hash) do serwera - serwer odpowiada (user_id, EXPIRY_DATE), podpisaną przez serwery API losowy klucz - serwer można sprawdzić ważność tokena na każde żądanie - serwer musiałby przechowywać żetony na ograniczony okres czasu
[idea 2] - jw, ale unikać wysyłania hash hasła - Użytkownik żąda uwierzytelniania żeton - Serwer wysyła użytkownikowi wyzwanie, użytkownik następnie przydziela wyzwanie za pomocą swojej pary (user_id, password_hash) - Serwer potwierdza to, a następnie generuje znacznik zgodnie z ideą 1.
[idea 3] - Użyj sam hash hasła auth jako dowód, wysłany na każde żądanie, aby uniknąć problemu tokena - uproszczenie zarządzania ale wtedy nie czaso- ograniczoność
[idea 4] - podobnie jak 2, ale challenged_hashed_by_ (user_id, password_hash) staje token i wysyłane w każdym żądaniu
Dzięki za wszelkie wskazówki
Spójrz na to: http://stackoverflow.com/questions/11187342/mongoose-express-authorisation-on-http-verbs – freakish