> ## Documentation Index
> Fetch the complete documentation index at: https://docs.base44.com/llms.txt
> Use this file to discover all available pages before exploring further.

# חיבור שירות עם התחברות משלו

> אפשר לכל אדם לחבר את החשבון שלו בשירות שמשתמש ב-OAuth2 אבל אינו מחבר של Base44, בעזרת פונקציות backend שצ'אט ה-AI בונה עבור האפליקציה שלך.

חלק מהשירותים, כמו ספקי נתוני אנרגיה, בנקאות או נתוני תעשייה, משתפים נתונים רק אחרי שבעל החשבון מתחבר בדף של השירות עצמו ומאשר גישה. השיטה הזו נקראת OAuth2. כשהשירות לא נמצא ב[קטלוג המחברים](https://docs.base44.com/he/Integrations/connectors-catalog), עדיין אפשר לחבר אותו. בקש מצ'אט ה-AI לבנות את תהליך ההתחברות עם פונקציות backend.

> [!WARNING]
>
> כדי להשתמש בפונקציות backend, צריך [מסלול Builder](https://base44.com/pricing) ומעלה.

***

## בחירת האפשרות המתאימה

ב-Base44 יש כמה דרכים להגיע לשירות אחר. בניית תהליך התחברות משלך דורשת את רוב העבודה. לכן בדוק קודם אם אחת מהאפשרויות הפשוטות יותר מתאימה לשירות שלך.

**בחר את האפשרות שמתאימה לשירות שלך:**

* **השירות נמצא בקטלוג המחברים:** השתמש ב[מחבר](https://docs.base44.com/he/Integrations/Connectors.md). ‏Base44 מטפלת בהתחברות, שומרת את האסימונים ומרעננת אותם עבורך. [מחבר למשתמשי אפליקציה](https://docs.base44.com/he/Integrations/Connectors.md#connector-types) מאפשר לכל אדם לחבר את החשבון שלו. אם מחבר מהקטלוג מבקש [לקוח OAuth משלך](https://docs.base44.com/he/Integrations/Connectors.md#using-your-own-oauth-client), הוא עדיין מחבר, ולכן אינך צריך את הדף הזה.
* **השירות נותן לך מפתח API:** שמור את המפתח כ[סוד](https://docs.base44.com/he/Integrations/Using-integrations.md#adding-secrets) ובקש מצ'אט ה-AI לקרוא לשירות מפונקציית backend. כדי לשתף API אחד בכל סביבת העבודה, השתמש ב[אינטגרציית OpenAPI מותאמת אישית](https://docs.base44.com/he/documentation/integrations/using-custom-integrations.md).
* **השירות דורש התחברות OAuth2 ואינו מחבר:** בנה את התהליך עם פונקציות backend, כפי שהדף הזה מתאר.

> [!NOTE]
>
> אינטגרציות OpenAPI מותאמות אישית וחיבורי MCP לא יכולים לחבר את החשבון האישי של כל אדם. אינטגרציית OpenAPI מותאמת אישית שולחת את אותם פרטי התחברות בכל קריאה, לא משנה מי משתמש באפליקציה. חיבורי MCP שאתה מוסיף מיועדים רק לצ'אט ה-AI בזמן הבנייה, ולא לאפליקציה המפורסמת שלך.

***

## איך זה עובד

‏Base44 לא שומרת ולא מרעננת אסימונים של שירותים מחוץ לקטלוג. לכן האפליקציה שלך עושה את העבודה הזו בפונקציות ה-backend שלה. צ'אט ה-AI כותב אותן עבורך.

**לתהליך התחברות מותאם יש 4 חלקים:**

* **כפתור התחברות:** פונקציית backend שולחת את האדם לדף ההתחברות של השירות, עם קוד חד-פעמי שמקשר את הבקשה אליו.
* **פונקציית callback:** אחרי שהאדם מאשר גישה, השירות מחזיר אותו לפונקציית backend באפליקציה שלך. הפונקציה בודקת את הקוד החד-פעמי ומחליפה את התשובה של השירות באסימונים של אותו אדם.
* **טבלת אסימונים:** האסימונים נשמרים בטבלת נתונים, רשומה אחת לכל אדם. רק פונקציות ה-backend שלך קוראות אותה, לעולם לא הדפים של האפליקציה.
* **פונקציות API:** פונקציות backend קוראות לשירות עם האסימון של אותו אדם. כשהאסימון פג, הן משתמשות באסימון הרענון כדי לקבל אסימון חדש.

האפליקציה צריכה שאנשים יתחברו אליה, כדי לדעת לאיזה חשבון שייך כל חיבור. למד עוד ב[ניהול התחברות והרשמה](https://docs.base44.com/he/Setting-up-your-app/Managing-login-and-registration.md).

***

## רישום אפליקציית ה-OAuth שלך

לפני שהאפליקציה יכולה לחבר מישהו, אתה רושם אותה בשירות. השירות נותן לך client ID ו-client secret, ושואל לאן להחזיר אנשים אחרי ההתחברות. הכתובת הזו היא הכתובת הציבורית של פונקציית ה-callback שלך.

לכל פונקציית backend יש כתובת ציבורית משלה, בפורמט הזה:

```text theme={null}
https://your-app-name.base44.app/functions/yourFunctionName
```

השתמש בכתובת שבה אנשים פותחים את האפליקציה שלך. אם חיברת דומיין מותאם אישית, השתמש בדומיין הזה במקום, למשל `https://your-domain.com/functions/yourFunctionName`. אם השירות מקבל יותר מ-redirect URI אחד, הוסף את שתי הכתובות. בחר עכשיו את שם פונקציית ה-callback, כמו `enedisCallback`, כדי לתת את אותו שם לצ'אט ה-AI בהמשך.

**כדי לרשום את האפליקציה בשירות:**

1. התחבר לפורטל המפתחים של השירות וצור אפליקציית OAuth. יש שירותים שקוראים לה client או application.
2. הזן את הכתובת של פונקציית ה-callback כ-redirect URI, למשל `https://your-app-name.base44.app/functions/enedisCallback`.
3. בחר רק את ה-scopes שהאפליקציה צריכה.
4. העתק את ה-client ID ואת ה-client secret.
5. העתק את כתובת ההרשאה (authorization URL) ואת כתובת האסימון (token URL) של השירות מתיעוד המפתחים שלו.

***

## בניית תהליך ההתחברות

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

> [!WARNING]
>
> לעולם אל תקליד את ה-client secret בהודעת צ'אט. כשצ'אט ה-AI מבקש אותו, הזן אותו בטופס שצ'אט ה-AI מציג, או [הוסף אותו כסוד](https://docs.base44.com/he/Integrations/Using-integrations.md#adding-secrets) בעצמך. ‏Base44 מזהה ומסתירה רק מפתחות של שירותים מוכרים, ולכן סוד של שירות אחר נשאר בהודעה שלך.

**כדי לבנות את תהליך ההתחברות:**

1. עבור לעורך האפליקציה.

2. בקש מצ'אט ה-AI לבנות את התהליך, עם הכתובות של השירות, ה-scopes שלך ושם פונקציית ה-callback שרשמת. לדוגמה:

   ```text theme={null}
   אפשר לכל משתמש מחובר לחבר את חשבון ה-Enedis שלו עם OAuth2, כדי שהאפליקציה תציג את צריכת החשמל שלו. Enedis אינו מחבר של Base44, אז בנה את התהליך עם פונקציות backend.

   - Authorization URL: [הדבק מהתיעוד של Enedis]
   - Token URL: [הדבק מהתיעוד של Enedis]
   - Scopes: [ה-scopes שבחרת]
   - Redirect URI: [כתובת ה-callback שלך]. השתמש בדיוק בכתובת הזו גם בבקשת ההרשאה וגם בהחלפת האסימון.
   - קרא את ה-client ID ואת ה-client secret מהסודות ENEDIS_CLIENT_ID ו-ENEDIS_CLIENT_SECRET.

   הוסף כפתור Connect Enedis ששולח את המשתמש לכתובת ההרשאה עם ערך state חד-פעמי שקשור אליו. צור פונקציית backend בשם enedisCallback בתור ה-redirect URI. היא צריכה לבדוק את ה-state, להחליף את הקוד באסימונים, לשמור אותם עבור המשתמש ולהחזיר אותו לאפליקציה. שמור את האסימונים בטבלה עם הרשאות יצירה, קריאה, עדכון ומחיקה למנהלים בלבד, וקרא וכתוב אליה רק מפונקציות backend עם תפקיד השירות (service role). רענן את אסימון הגישה כשהוא פג, הצג כפתור Reconnect אם הרענון נכשל, והוסף כפתור Disconnect שמוחק את האסימונים של המשתמש.
   ```

3. כשצ'אט ה-AI מבקש את ה-client ID ואת ה-client secret, הזן אותם בטופס שהוא מציג.

4. ודא שלפונקציית ה-callback יש בדיוק השם שרשמת. אם לא, בקש מצ'אט ה-AI לשנות את השם שלה.

5. לחץ על **Dashboard**.

6. לחץ על **Data**, ואז בחר את טבלת האסימונים.

7. לחץ על **Permissions** בראש הטבלה, וודא שרק מנהלים יכולים ליצור, לקרוא, לעדכן או למחוק רשומות. למד עוד ב[שינוי הרשאות נתונים](https://docs.base44.com/he/Building-your-app/Managing-your-app-data.md#changing-data-permissions).

8. לחץ על **Test permissions in preview**, ואז פעל כמשתמש רגיל וודא שהוא לא רואה אף רשומה בטבלת האסימונים.

***

## פרסום ובדיקה

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

**כדי לבדוק את החיבור:**

1. עבור לעורך האפליקציה.
2. פרסם את האפליקציה.
3. פתח את האפליקציה המפורסמת והתחבר.
4. לחץ על כפתור ההתחברות שצ'אט ה-AI הוסיף.
5. התחבר לשירות עם חשבון שמותר לך להשתמש בו, ואשר גישה.

***

## איך אנשים מתחברים

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

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

***

## פתרון בעיות

אם תהליך ההתחברות לא עובד, מצא את המצב שלך למטה.

> [accordion] השירות אומר שה-redirect URI לא תואם
>
> כתובת ה-callback שרשמת בשירות חייבת להתאים בדיוק לכתובת של הפונקציה. ודא שהיא משתמשת באותו דומיין שהאפליקציה רצה עליו. ודא גם ששם הפונקציה תואם לתיקייה שלה ב-**Code**, תחת `base44/functions`, כולל אותיות גדולות.

> [accordion] אני חוזר לאפליקציה אבל החשבון שלי לא מחובר
>
> פרסם את האפליקציה, ונסה שוב מהאפליקציה המפורסמת. אם זה עדיין נכשל, פתח את הקובץ של פונקציית ה-callback ב-**Code**, לחץ על **Logs**, והדבק את השגיאה בצ'אט ה-AI כדי שיתקן את הפונקציה.

> [accordion] אנשים צריכים להתחבר מחדש לעתים קרובות מדי
>
> כנראה שאסימון הגישה פג ולא מתרענן. בקש מצ'אט ה-AI לרענן אותו עם אסימון הרענון. חלק מהשירותים שולחים אסימון רענון רק כשמבקשים scope או הגדרה מסוימים. לכן בדוק את התיעוד של השירות.

> [!NOTE]
>
> דף זה תורגם באמצעות AI. למידע המדויק והעדכני ביותר, עיין ב[גרסה האנגלית](https://docs.base44.com/index.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.