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