ספריית הלקוח של 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 תהיה קלה יותר ופחות שגיאות.