OAuth2 גוגל - יצירת אישורי אימות ללא צורך בהרצה לוקאלית של האפליקציה
-
@צדיק-תמים אמר בOAuth2 גוגל - יצירת אישורי אימות ללא צורך בהרצה לוקאלית של האפליקציה:
אני מעוניין לעשות פרויקט בnodejs שיעבוד בצורה שמי שירצה להשתמש בו, יקים אינסטנס שלו, לדוגמה על heroku (באמצעות הapp.json Schema), יגש לגוגל קונסול, ינפיק אישורי אימות לגישה למיילים אנשי קשר וכו', ויכניס אותם במשתני סביבה, והיישום יקח אותם משם (ישירות או דרך buildpack כזה ששומר אותו כקובץ json באופן אוטומטי).
עד כאן הכל טוב.
אימות רגיל באמצעות OAuth2 על ידי פתיחת כתובת בlocalhost לא מתאים, כיוון שבשביל זה יהיה צורך להוריד את המאגר למחשב, ולהריץ אותו, וכו', דברים לא קלים למשתמש שאינו טכני (לדוגמה nodejs מסתמא לא יהיה מותקן לו...),
הבעיה לא מובנת לי. מה הקשר localhost? למה הציטוט הראשון מחייב פתיחה בLocalhost? למה אימות רגיל == פתיחה בlocalhost?
-
@צדיק-תמים
יש להכניס את הredirectUri מראש בעריכת ה credentials
כמו בתמונה
ואז בכניסה ל https://exmple.net/SendMail.php בפעם הראשונה בדפדפן זה יעביר לדף האימות של גוגל ואח"כ יחזיר אותו לאותו הדף https://exmple.net/SendMail.php יחד עם הcode ב URL והקוד הנ"ל שהבאתי מבצע כבר את האימות ויוצר אסימון -
@צדיק-תמים אמר בOAuth2 גוגל - יצירת אישורי אימות ללא צורך בהרצה לוקאלית של האפליקציה:
הבעיה כל מי שמשתמש בסינון מבוסס רשימה לבנה כגון נטפרי, יצטרך לשלוח לבדיקה את הכתובת של האינסטנס שלו... אני רוצה לחסוך את זה
אם הבנתי נכון, במה שהצעת הבעיה קיימת, כי צריך שהאתר יהיה פתוח? אני צודק? או שאפשר לפתוח את מסך האימות גם בלי זה (איך? בעצם אני צריך משהו כמו הoauthplayground, ורק בredirectUri להכניס את הכתובת של האינסטנס), ורק הredirect יהיה לכתובת שעדיין לא פתוחה - הכתובת של האינסטנס (וזה לא בעיה, כי הבקשה תגיע לשרת עם הקוד בurl, והוא ישמור אותו וכו', למרות שהתשובה תהיה חסומה לצפיה)
@dovid זה עונה גם על השאלה שלך - אם אני לא רוצה שיהיה צריך לשלוח כל אינסטנס לבדיקה, הדרך היחידה לכאורה היא localhost -
@צדיק-תמים רחמנות עלי!!
אני לא מבין כלום.
הבחור שמשתמש בפרוייקט שלך פותח חשבון בheruko וכמובן הוא צריך לפתוח את זה בנטפרי, מה זה קשור לכל השאלה הטכנולוגית אודות הauth??
לגוגל לא בוער שזה יהיה פתוח, וכל עוד זה חסום ממילא הוא לא יכול להיכנס לאפליקציה בין עם האימות ובין בלעדיו! -
@צדיק-תמים אמר בOAuth2 גוגל - יצירת אישורי אימות ללא צורך בהרצה לוקאלית של האפליקציה:
@צדיק-תמים אמר בOAuth2 גוגל - יצירת אישורי אימות ללא צורך בהרצה לוקאלית של האפליקציה:
הבעיה כל מי שמשתמש בסינון מבוסס רשימה לבנה כגון נטפרי, יצטרך לשלוח לבדיקה את הכתובת של האינסטנס שלו... אני רוצה לחסוך את זה
אם הבנתי נכון, במה שהצעת הבעיה קיימת, כי צריך שהאתר יהיה פתוח? אני צודק? או שאפשר לפתוח את מסך האימות גם בלי זה (איך? בעצם אני צריך משהו כמו הoauthplayground, ורק בredirectUri להכניס את הכתובת של האינסטנס), ורק הredirect יהיה לכתובת שעדיין לא פתוחה - הכתובת של האינסטנס (וזה לא בעיה, כי הבקשה תגיע לשרת עם הקוד בurl, והוא ישמור אותו וכו', למרות שהתשובה תהיה חסומה לצפיה)
@dovid זה עונה גם על השאלה שלך - אם אני לא רוצה שיהיה צריך לשלוח כל אינסטנס לבדיקה, הדרך היחידה לכאורה היא localhost- בנטפרי כשאתר לא נפתח והוא עושה רדיירקט לאתר פתוח, זה מעביר או לא?
- אתה יכול להכין מראש את הלינק לפתיחת הדף בגוגל, כי זה מורכב מפרטי הפרוייקט הנמצא בקובץ credentials.json ולפי ה redirectUri זה יעביר חזרה לאתר המבוקש, וכפי שכתבת הבקשה תבוצע למרות שזה סגור בנטפרי.
-
@dovid אמר בOAuth2 גוגל - יצירת אישורי אימות ללא צורך בהרצה לוקאלית של האפליקציה:
@חוקר המילה "מראש" לא מדוייקת, אפשר לשנות את זה בכל שלב.
אתה צודק, רק התכוונתי לפני ביצוע הבקשה עם ה redirectUri המבוקש.
אחרת גוגל יתן שגיאה לפני ביצוע האימות שזה מפנה ל redirectUri לא מוגדר.
אבל אכן ניתן תמיד להוסיף ולהסיר כתובות -
@צדיק-תמים אמר בOAuth2 גוגל - יצירת אישורי אימות ללא צורך בהרצה לוקאלית של האפליקציה:
@dovid מתנצל שלא הבהרתי את זה קודם, האפליקציה רצה ללא מגע יד אנוש או מול מערכת טלפונית, בשום אופן לא על ידי ממשק כלשהו בדפדפן וכדו'. וממילא לולי הצורך באימות, אין לי שום צורך לפתוח בנטפרי את האפליקציה.
כעת הבנתי.
תנחה את המשתמשים להזין כתובת אתר שלך שפתוח כבר, והוא יקבל את כל ההרשאות, ויקבל בstate שלו פרמטר למי לשלוח את טוקן הגישה. -
@חוקר אמר בOAuth2 גוגל - יצירת אישורי אימות ללא צורך בהרצה לוקאלית של האפליקציה:
בנטפרי כשאתר לא נפתח והוא עושה רדיירקט לאתר פתוח, זה מעביר או לא?
בדקתי, ומעביר! תודה, רעיון מעולה
@חוקר אמר בOAuth2 גוגל - יצירת אישורי אימות ללא צורך בהרצה לוקאלית של האפליקציה:
אתה יכול להכין מראש את הלינק לפתיחת הדף בגוגל, כי זה מורכב מפרטי הפרוייקט הנמצא בקובץ credentials.json ולפי ה redirectUri זה יעביר חזרה לאתר המבוקש, וכפי שכתבת הבקשה תבוצע למרות שזה סגור בנטפרי.
איך עושים את זה?
@dovid מה זה אומר state?