ממשק ה-REST של SmartSense משתמש בחלק המתייחס לאישורי הלקוח במפרט OAuth2 לצורך אימות והרשאה. לשם כך, על הלקוח של הממשק להחזיק במזהה לקוח וב"סוד" לקוח (שצריך להיחשב כמידע סודי). מזהה הלקוח והסוד הם למעשה שם משתמש וסיסמה.
עם זאת, במקום שהגישה תוגבל למשתמש ספציפי, לחשבונות אלה יש בדרך כלל גישה מלאה (לקריאה בלבד) ל-PartnerData API, ויש לאבטח את פרטי הזיהוי הללו כפי שמאבטח כל פרטי זיהוי של משתמש או רשת אחרים. הן מזהה הלקוח והן ה-"secret" מהווים את פרטי הזיהוי של הלקוח.
אימות
SmartSense מספקת פרטי אימות ללקוחות ה-API. לאחר שקיבלתם את פרטי האימות, בצעו קריאה לנקודת הקצה של SmartSense לאישור (https://api.smartsense.co/auth/oauth) כדי לקבל אסימון.
היקף אישורי הלקוח
פרטי הזיהוי של הלקוח נקשרים בעת יצירתם למזהה חשבון SmartSense ספציפי ולמזהה משתמש ספציפי. נכון לעכשיו, לפרטי הזיהוי של הלקוח יש גישה לכל הנתונים הזמינים למזהה המשתמש של SmartSense.
שימוש בפרטי הזדהות של לקוח ה-API כדי להשיג אסימון גישה
על פי מפרט OAuth2, לקוח ה-API יכול להשתמש בפרטי הזיהוי של הלקוח כדי להשיג AccessToken. לאחר מכן ניתן להשתמש ב-AccessToken זה לצורך אימות קריאות API (עד שתוקף האסימון יפוג). כדי להשיג AccessToken, הלקוח שולח בקשת POST לכתובת /auth/oauth, כפי שתואר בכתובת https://tools.ietf.org/html/rfc6749#section-4.4.2.
לסיכום סעיף 4.4.2 במפרט OAuth2: יש להעביר את הפרמטר grant_type=client_credentials בגוף הבקשה (בקידוד form-urlencoded), ולהשתמש באימות HTTP Basic כדי לספק את מזהה הלקוח (client ID) ואת הסוד של הלקוח (client secret).
בעת קריאה לנקודת הקצה של האימות, עליך לציין את הכותרות הבאות:
מפתח | ערך |
קבל | application/json |
סוג תוכן | application/x-www-form-urlencoded |
אורך התוכן | מחושב בעת שליחת הבקשה |
מארח | שם הדומיין שעבורו נשלחת הבקשה לשרת |
אישור
כדי לבצע אימות באמצעות ממשק ה-API של SmartSense, עליך להעביר אסימון Bearer שהושג באמצעות תהליך האימות. אסימון ה-Bearer חייב להיכלל בכותרת ה-Authorization בכל בקשות ה-API, ועליו להיראות כך:
הרשאה: נושא TOKEN_FROM_SMARTSENSE
עליכם להחליף את TOKEN_FROM_SMARTSENSE באסימון ה-API האישי שלכם, שקיבלתם בתהליך ההרשאה.