/ / Passport.js практични за прост login - node.js, удостоверяване, passport.js, jwt

Passport.js практичен за прост login - node.js, удостоверяване, passport.js, jwt

Аз съм проектиране на моята система за удостоверяване на потребителя използванеNode.js / Express, и докато търсех в мрежата стратегии за удостоверяване, забелязах, че много разработчици препоръчват passport.js за помощ при удостоверяване.

Удостоверяването ми ще използва само aпотребителско име / парола стратегия с JSON уеб символи. При това предположение изглежда, че трябва да управлявам самото удостоверяване сама: проверявам потребителското име и паролата на базата данни и проверявам и прикачам JWT. Струва ми се, че паспортът само обвива работата ми в собствените си функции.

Само със стратегия за потребителско име и парола, каква е паспортът? Какво предлага Паспортът в този сценарий, който е от реална полза за мен, просто да извърша удостоверяване без него?

Отговори:

0 за отговор № 1

Паспортът ви дава повече гъвкавост имащабируемост. Сега имате нужда от една конкретна стратегия, но в бъдеще можете да добавите допълнителни или да премахнете старата. Използвайки модули като паспорта, причините ви, че вашият код за кандидатстване е независим от някои процеси. Това е почти като инжектиране на зависимост, инжектирате стратегия в противоположност на хардкод това.

Това, че доброто приложение трябва да има колкото е възможно повече функции / модули, които дават възможност за инжектиране на политики / стратегии. Отделни модули също са nodejs / express style.

Ако кодирате удостоверяването си в същия стил, то е супер (но защо преоткривате колелото).

Използвайки паспорта, можете да наследявате от основната стратегия и да създадете нова така стриктно за вашите нужди и да я използвате с други стратегии.


0 за отговор № 2

Освен ако всъщност не искате да приложите a рамка и имате всички ресурси в света, за да направите това, всички необходими знания и ключови хора (като OWASP) и т.н.

Използвайте съществуващите lib за вашия проект

Използвайте библиотека или рамка, която е с отворен коди битката тествана. Да, няма да е перфектен и ще има ограничения. Да, това може да не е най-сигурният код. НО ще бъде много по-добре от твоя, особено ако започваш от нулата.

След това следвайте най-добрите практики за CSRF, XSS, DDoS и друг вид предотвратяване на атаки.