authentication ב - express
-
@מנצפך אמר בauthentication ב - express:
לפרספורט אין מערכת סשנים עצמית, הוא צריך מערכת שדואגת לשמור את הסשנים, ובשלב האימות צריך לשלוף את מזהה הסשן, אתה צריך גם express-session וגם passport
-
זה שתי דברים שונים,
express-session מטפל נטו בסשן - כלומר אחראי לשמירת מידע שצד שרת ואחזורו בכל בקשה לפי הקוקיס.
passport מטפל בכל מה שנוגע לאוטנטיקציה שזה כולל את כל ההביטים של זיהוי משתמשים וכניסה באמצעות רשתות חברתיות וכו'.
אני לא יודע איך passport שומר את המידע לאורך השסן. -
אין לי ניסיון ברדיס, אבל אני לא מבין למה צריך לשמור סשנים בזיכרון חי, זה מועד לפורענות של דליפת זיכרון, ואם אתה מאתחל את המכונה כל הסשנים נמחקים והקליינט לא מבין למה הוא צריך להכניס עוד פעם סיסמה אחרי שכבר הכניס לפני שעתיים.
אקספרס סשנ'ס יודע לעבוד עם הרבה סוגי DB, אתה לא צריך לייחד DB מיוחד עבור הסשנים, רק תגדיר לו את הגדרות החיבור לDB הכללי והוא כבר ידאג ליצור טבלה וכל מה שצריך -
אתה צריך ליצור טבלה של יוזרים עם שם מייל סיסמה הרשאות ושאר ירקות, ובעמוד של login להגדיר בשביל פספורט את הפונקציה שמקבלת את המידע של ה login ובודקת אותו עם הטבלה של היוזרים, ולהגדיר ג"כ מה קורה במקרה של הצלחה וכישלון של login, ופה בערך מסתיים התפקיד שלך, אם הכניסה הצליחה פספורט שומר את זה בטבלה של הסשנים, ובכל בקשה של הקליינט אתה יכול לגשת לנתונים של הקליינט באובייקט req, משהו כזה:
req.session.passport.user.name
-
אל תשמור סיסמאות ב DB זה גם לא חוקי ועלול לחשוף אותך לתביעות אם המידע יזלוג החוצה, וגם בגלל האחריות כלפי הקליינט שמפקיד את הסיסמה שלו אצלך והוא לא היה רוצה שכל מי שיש לו גישה לשרת יראה את הסיסמה שלו. יש מחלקות בנוד שמגבבות סיסמאות, יש כאן כמה מדריכים לעבוד עם סיסמאות
https://video-tov.ml/?tag=Passport.js&page=1 -
@יוסף-בן-שמעון אני לא חושב שזה לא חוקי לשמור סיסמאות בDB.
(אא"כ יש לך נתונים כספיים באתר וגם אז לא בטוח)
אפילו נתוני אשראי לזכרוני אין איסור לשמור - כל עוד לא פרצו לך.
ברגע שפרצו לך אז זה הופך לפלילי. (בנתוני אשראי)מה שכן, כתבת בצדק מאד, שזה לא חכם וגם לא אתי כלפי לקוח הקצה שמפיק בידיים שלך סיסמא (בהרבה פעמים היא הסיסמא הקבועה שלו )
-
@מנצפך
@WWW
עקרונית אין איסור לשמור, יש איסור שתהיה דליפה.
ז"א, לא יחול קנס במידה ושמרת, כל עוד לא התבצעה דליפת נתוניםמועצת PCI מעודדת עסקים המאחסנים נתוני אשראי לעמוד בתקן כדי להפחית סיכונים העלולים לגרום לפגיעה כספית כתוצאה מדליפת נתונים, אך היא אינה בעלת סמכות אכיפה של התקן. חברות האשראי הן המחזיקות בכוח לקבוע נהלים, לוחות זמנים ודרישות לעמידה בתקן. חברות האשראי כי החל מתחילת 2013 כל חברה המבצעת חיובים בכרטיסי אשראי תידרש לעמוד בתקן. חברה שתתקיים אצלה דליפה של נתוני אשראי ואשר לא עמדה בתקן תעמוד בפני מגבלות וקנסות מצד חברות האשראי.
https://www.hamichlol.org.il/תקן_PCI_DSS
ככה הסביר לי גם בעבר יועץ שייעץ לוועדה של זה בכנסת (כיום הא סמנכ"ל באחת מחברות הסליקה)במידה והייתה דליפה למרות התקן, אז לא יהיה קנס....
-