סודות לקוח

ספריית הלקוח של Google APIs ל- .NET משתמשת client_secrets.json קבצים לאחסון של client_id, client_secret ופרמטרים אחרים של OAuth 2.0.

client_secrets.json הקובץ הוא בפורמט JSON שכולל את מזהה הלקוח, סוד הלקוח ופרמטרים אחרים של OAuth 2.0. הנה קובץ client_secrets.json לדוגמה עבור אפליקציית אינטרנט:

{
  "web": {
    "client_id": "asdfjasdljfasdkjf",
    "client_secret": "1912308409123890",
    "redirect_uris": ["https://www.example.com/oauth2callback"],
    "auth_uri": "https://accounts.google.com/o/oauth2/auth",
    "token_uri": "https://accounts.google.com/o/oauth2/token"
  }
}

הנה קובץ client_secrets.json לדוגמה של אפליקציה מותקנת:

{
  "installed": {
    "client_id": "837647042410-75ifg...usercontent.com",
    "client_secret":"asdlkfjaskd",
    "redirect_uris": ["http://localhost"],
    "auth_uri": "https://accounts.google.com/o/oauth2/auth",
    "token_uri": "https://accounts.google.com/o/oauth2/token"
  }
}

בפורמט מוגדר אחד משני סוגים של מזהי לקוחות:

  • web: אפליקציית אינטרנט.
  • installed: אפליקציה מותקנת.

לאובייקטי המשנה web ו-installed יש את חברי החובה הבאים:

  • client_id (מחרוזת): מזהה הלקוח.
  • client_secret (מחרוזת): סוד הלקוח.

כל שאר החברים בקובץ הם אופציונליים ספריית הלקוח .NET לא משתמשת בהם.

למה בחרנו לעשות זאת?

בעבר, ספקים של נקודות קצה ב-OAuth 2.0 ציפו לצפות אנשים שמשתמשים בשירותים שלהם כדי להעתיק ולהדביק את מזהה הלקוח ואת סוד הלקוח מדף ההרשמה לקוד תקין. השיטה הזו מועדת לשגיאות ונותנת תמונה חלקית של המידע הנחוץ כדי להפעיל את OAuth 2.0. (ב-OAuth 2.0 צריך גם להכיר את כל נקודות הקצה, והגדרת URI להפניה אוטומטית.) אם ספקי השירות מספקים client_secrets.json להורדה וספריות הלקוח מוכנות לצרוך את הקבצים האלה, ואז ההטמעה של OAuth 2.0 תהיה קלה יותר ופחות שגיאות.