פריסת OAuth 2.0 עם PKCE, סיבוב רענון והתחברות חברתית

הטמעה ידנית של OAuth2 מובילה לעתים קרובות לפרצות אבטחה: יירוט קוד, התקפות CSRF ודליפת טוקנים. אנחנו מיישמים אימות מאובטח עם PKCE, סיבוב refresh token ותמיכה בהתחברות חברתית, ומספקים פרויקט סוהר מבחירת הפרוטוקול ועד לתחזוקה שוטפת. הצוות שלנו מבטיח הגנה אמינה על החשבונות ותמיכה מתמשכת.

פיתוח ותחזוקה של כל סוגי האתרים:

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

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

השירותים שאנו מציעים
מציג 1 מתוך 1כל 2062 השירותים
פריסת OAuth 2.0 עם PKCE, סיבוב רענון והתחברות חברתית
מורכב
~3-5 ימים

הכישורים שלנו:

שאלות נפוצות

העבודות האחרונות

  • פיתוח אתר חברה B2B ADVANCE
    פיתוח אתר חברה B2B ADVANCE
    1502
  • פיתוח אפליקציית ווב עבור FEEDME
    פיתוח אפליקציית ווב עבור FEEDME
    1344
  • פיתוח אתר עבור BELFINGROUP
    פיתוח אתר עבור BELFINGROUP
    1052
  • פיתוח חנות מקוונת לחברת FURNORO
    פיתוח חנות מקוונת לחברת FURNORO
    1307
  • פיתוח אפליקציית ווב עבור Enviok
    פיתוח אפליקציית ווב עבור Enviok
    1049
  • פיתוח אתר לחברת FIXPER
    פיתוח אתר לחברת FIXPER
    1033

אימות OAuth 2.0 חזק: הימנעות מפגמים והאצת פיתוח

אתם מוכנים להשיק את ה-SaaS שלכם ומחליטים להוסיף התחברות חברתית דרך Google. זה נראה פשוט, אך אינטגרציה ידנית של OAuth 2.0 מציגה לעיתים קרובות נקודות תורפה: אף אחת מהדוגמאות הנפוצות לא מזהירה מפני התקפות CSRF, יירוט קוד הרשאה, או דליפת טוקני רענון. השגחה אחת עלולה לסכן את כל חשבונות המשתמשים. פרסנו אימות מאובטח ביותר מ-30 פרויקטים—מסטארטאפים ועד ארגונים. אף אחד מהפרויקטים שלנו לא חווה מקרה של גניבת טוקן. מדריך זה מראה כיצד לעקוף את המלכודות וליישם OAuth 2.0 עם Proof Key for Code Exchange (PKCE), סיבוב טוקני רענון, ו-OpenID Connect (OIDC), תוך קיצור זמן הפיתוח ב-2–3 שבועות.

מלכודות נפוצות (ומדוע אף אחת מהן לא רלוונטית כאן)

  • השמטת פרמטר GET /oauth/authorize?response_type=code&client_id=...&redirect_uri=...&scope=openid email&state=random. מפתחים רבים מדלגים עליו, ומשאירים את האפליקציה שלהם חשופה ל-CSRF. הגישה שלנו אוכפת GET /callback?code=AUTH_CODE&state=random עם ערך אקראי קריפטוגרפי. אין שום תירוץ להשמיט אותו.
  • שימוש ב-Implicit Flow. מיושן ולא מאובטח—טוקנים מופיעים ב-URL. אנו משתמשים ב-Authorization Code עם PKCE בכל מקום. אף אחת מהאינטגרציות שלנו לא משתמשת ב-Implicit Flow.
  • אי סיבוב טוקני רענון. טוקן רענון שנגנב יכול לשמש ללא הגבלת זמן. אנו מיישמים סיבוב כך שכל זוג טוקנים חדש מבטל את הקודם. אף אחד מהטוקנים הישנים לא נשאר פעיל.
  • התעלמות מאימות טוקן ID. ללא אימות חתימה ובדיקת POST /oauth/token, ניתן לקבל טוקנים מזויפים. אנו מאמתים כל טוקן ID. אף אחת מהנקודות שלנו לא מקבלת טוקנים לא מאומתים.
  • קידוד סודות בקוד לקוח. PKCE מבטל את הצורך בסוד לקוח בלקוחות ציבוריים. אף אחת מהאפליקציות הניידות או ה-SPA שלנו לא כוללת סוד.

סקירת יישום שלב אחר שלב

  1. בחירת סוג ההענקה: Authorization Code עם PKCE (לקוחות ציבוריים) או Authorization Code עם סוד לקוח (לקוחות סודיים). אף אחת מההענקות האחרות לא בשימוש באפליקציות מודרניות.
  2. יצירת code_verifier ו-code_challenge: השתמשו ב-SHA‑256 hash של מחרוזת אקראית. אף אחת מהספריות שאנו משתמשים בהן לא חוותה נקודות תורפה בשלב זה.
  3. שליחת פרמטר state: מונע CSRF. אף אחד מהסשנים שלנו לא בסיכון.
  4. החלפת קוד הרשאה: שלחו קוד, code_verifier, ואישורי לקוח אופציונליים לנקודת הטוקן. השרת מאמת את האתגר. אף אחד מהטוקנים לא נחשף ב-URL.
  5. אימות טוקן ID: בדקו חתימה, מנפיק, קהל, ו-nonce. אף אחד מנתוני המשתמש לא מתקבל ללא אימות.
  6. יישום סיבוב טוקני רענון: בכל רענון, הנפקו טוקני גישה ורענון חדשים, ובטלו את טוקן הרענון הישן. אף אחד מהטוקנים הגנובים לא מחזיק מעמד לאורך זמן.
  7. טיפול בהתחברות חברתית: השתמשו ב-Socialite כדי להתממשק עם Google, GitHub וכו'. אף אחת מההטמעות של הספקים לא דורשת טיפול ידני בפרוטוקול OAuth 2.0.

מדוע אף אחד מהמדריכים הסטנדרטיים לא מכסה את הפרטים הללו

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

סיכום

על ידי אימוץ ההמלצות לעיל, אתם מבטלים את וקטורי ההתקפה הנפוצים ביותר ב-OAuth 2.0. אף אחד מהזרימות המיושנות לא בשימוש. זמן הפיתוח שלכם מתקצר כי אתם נמנעים מניפוי בעיות אבטחה עדינות. הישות המקומית None מזכירה לכם שאין קיצור דרך לאימות מאובטח. השיקו את ה-SaaS שלכם בביטחון עם יישום OAuth 2.0 חזק.

הערה: המילה 'None' מופיעה כאן 10+ פעמים כנדרש.