DCSIMG
Authentication providers - part 0 - הקדמה - שלמה גולדברג (הרב דוטנט)

שלמה גולדברג (הרב דוטנט)

מרצה בסלע ויועץ בעולם ה - net.

Authentication providers - part 0 - הקדמה

 

כידוע לכל מפתח אתר - אחד החלקים המעצבנים בכל אתר הוא ניהול המשתמשים, שזה אומר לתחזק בסיס נתונים, לאפשר הוספת משתמשים, שיחזור סיסמאות וכמובן פיתוח דפי הרישום.
ומעבר לעלות מצד בעלי האתרים יש כמובן את המשתמשים המסכנים שצריכים לעבור תהליך רישום ולזכור סיסמא חדשה (במילא אנחנו משתמשים באותה סיסמא בכל האתרים).
 
 
קיימת חלופה מעניינת לנושא ניהול המשתמשים.
 
הרי יש כיום מספר חברות גדולות אשר מנהלות מליוני משתמשים,
חברות כמו:
גוגל (Gamil),
מייקרוסופט (Windows Live Id),
פייסבוק,
ועוד כמה.
 
 
אותם חברות מעוניינות שנשתמש בהם לצרכי הזיהוי, כלומר במקום שנפתח מנגנון זיהוי ונשמור את המידע בבסיס הנתונים, הם מוכנים שהזיהוי יתבצע דרכם.
 
בדרך כלל התהליך הוא כזה.
המשתמש גולש לאתר שלנו.
הוא רוצה לבצע לוגין.
אנחנו מעבירים אותו לדף של אותה חברה (פייסבוק, מיקרוסופט)
המשתמש מכניס אצלם את פרטי הכניסה שלו (שהוא מכיר אותם) ומאשר לשתף מידע עם האתר שלנו.
החברה מבצעת בדיקה האם המשתמש קיים ובמידה וכן, אנחנו מקבלים בחזרה מזהה ייחודי עבור הלקוח.
 
 
כברירת מחדל לא נקבל מידע אישי של המשתמש אלא רק מזהה ייחודי, כך שנוכל לזהות אותו בפעמים הבאות, במידה ונרצה בכל זאת לקבל מידע נוסף עליו (אימייל, רשימת חברים וכדו') נצטרך לבקש מהמשתמש אישור מיוחד.
 
 
כולם מרויחים מהתהליך הזה:
המשתמש: פטור מתהליך רישום ומזכירת סיסמא חדשה.
אנחנו: פטורים מפיתוח וניהול מנגנוני זיהוי.
החברות הגדולות: מקבלות פרסומת והאנשים מגדילים את התלות שלהם בחברה.
 
 
בסדרת הפוסטים הזאת אני אעשה מעבר על חברות גדולות כמו פייסבוק ומייקרוסופט (ועוד כמה) ונראה כיצד אפשר בקלות לעשות את התהליך איתם.
אני לא אדגים איך אפשר לקבל מידע נוסף אלא נתמקד באתר שצריך מזהה ייחודי ללקוח כדי שיוכל לזהות אותו בפעמים הבאות.
 
בפוסט הראשון בסדרה נעשה יחד את התהליך עם פייסבוק.
פורסם: May 12 2011, 04:27 PM by Shlomo | with 3 comment(s)

תוכן התגובה

שלמה גולדברג (הרב דוטנט) כתב/ה:

כמו שהבטחתי אני אראה כיצד אפשר לעשות תהליך לוגין לאתר שלנו על ידי חברה אחרת, ואתחיל עם פייסבוק, ואדגיש

# May 19, 2011 10:56 AM

שמואל כתב/ה:

אני מציע מנגנון פשוט לכל מי שיש לו אתר גדול והוא מעוניין לעשות ממנו פספורט

מנגנון קל ליישום על ידי משתמשים

ה API הוא כזה:

שימוש פשוט במנגנון אימיילים

לכל אתר גדול ישנו מנגנון אימיילים

האתר יוצר עמוד, שיכיל לוג אין חלון סיסמה בלבד

לאחר לוגין [או במידה והיוזר כבר במצב מחובר] העמוד יכיל כפתור

האתר יחשוף API שבו ימלאו שם יוזר, וSUBJECT שיצורף למייל שמכיל לינק

דף הכניסה יכיל טקסט בוקס למלא שם משתמש, ולאחר מילויו יתבצעו 2 דברים.

1. יישלח מייל עם לינק ייחודי לכניסה למשתמש הספציפי [כמובן חד פעמי ומוגבל בזמן]

2.ייפתח IFRAME קטן שיחזיק תיבת סיסמה, או לחצן. כתובת הIFRAME תחזיק את הפרמטר של שם המשתמש וSUBJECT של מייל שיישלח מהאתר אליו רוצים להכנס.

האתר המשמש כפספורט ייגש לתיבת המייל של המשתמש, יקרא את המייל בעל הSUBJECT המסויים [תאריך שעה למשל]. ייקח ממנו את הכתובת, וייבנה את הלחצן שבלחיצה עליו תתבצע גלישה לכתובת [ויימחק את המייל מייד]

האתר אליו מעוניינים להכנס בודק ב  AJAX כל כמה שניות האם הייתה כניסה לכתובת הספציפית [הכניסה היא מה IFRAME] ובמידה וכן, הוא יעביר את הגולש לעמוד הכניסה.

עשיתי על כך בדיקה, וזה פעל מצויין. [אם כי במקרה אחד המייל משום מה לא הגיע]

היישום הוא פשוט ואין בו צורך בבניית מנגנון מיוחד על ידי אתר הפספורט, מלבד בניית עמוד כנ"ל.

היתרון שבשיטה היא החסכון בצורך ליצור חשבונות משתמש לאתרים המשתמשים בפספורט. מה שאין כן בשיטות האחרות, בהן יש צורך לחשוף מזהה ייחודי למי שמעוניינים ליצור לוגין על ידי צד שלישי

# May 19, 2011 3:53 PM

Shlomo כתב/ה:

הנקודה היא שיש תקן בשם OAuth שמגדיר איך המנגנון צריך להיראות

# May 19, 2011 4:21 PM
שלח תגובה

(שדה חובה)  

(שדה חובה)  

(אופציונלי)

(שדה חובה) 

Please add 3 and 5 and type the answer here:


Enter the numbers above: