> ## 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.

# Einen Dienst mit eigener Anmeldung verbinden

> Lass jede Person ihr eigenes Konto bei einem Dienst verbinden, der OAuth2 nutzt, aber kein Base44 Connector ist. Der KI-Chat baut dafür Backend-Funktionen für deine App.

Manche Dienste, etwa Anbieter für Energie-, Bank- oder Branchendaten, teilen Daten erst, wenn sich der Kontoinhaber auf der Seite des Dienstes anmeldet und den Zugriff genehmigt. Das nennt man OAuth2. Wenn der Dienst nicht im [Connectors-Katalog](https://docs.base44.com/de/Integrations/connectors-catalog) ist, kannst du ihn trotzdem verbinden. Bitte dazu den KI-Chat, den Anmeldeablauf mit Backend-Funktionen zu bauen.

> [!WARNING]
>
> Du brauchst einen [Builder-Plan](https://base44.com/pricing) oder höher, um Backend-Funktionen zu nutzen.

***

## Die richtige Option wählen

Base44 bietet mehrere Wege, einen anderen Dienst zu erreichen. Ein eigener Anmeldeablauf macht die meiste Arbeit. Prüfe also zuerst, ob eine der einfacheren Optionen deinen Dienst abdeckt.

**Wähle die Option, die zu deinem Dienst passt:**

* **Der Dienst ist im Connectors-Katalog:** Nutze einen [Connector](https://docs.base44.com/de/Integrations/Connectors.md). Base44 übernimmt die Anmeldung, speichert die Tokens und hält sie für dich aktuell. Mit einem [App-Nutzer-Connector](https://docs.base44.com/de/Integrations/Connectors.md#connector-types) verbindet jede Person ihr eigenes Konto. Wenn ein Katalog-Connector [deinen eigenen OAuth-Client](https://docs.base44.com/de/Integrations/Connectors.md#using-your-own-oauth-client) verlangt, ist er trotzdem ein Connector. Dann brauchst du diese Seite nicht.
* **Der Dienst gibt dir einen API-Schlüssel:** Speichere den Schlüssel als [Secret](https://docs.base44.com/de/Integrations/Using-integrations.md#adding-secrets) und bitte den KI-Chat, den Dienst aus einer Backend-Funktion aufzurufen. Um eine API in deinem ganzen Workspace zu teilen, nutze eine [benutzerdefinierte OpenAPI-Integration](https://docs.base44.com/de/documentation/integrations/using-custom-integrations.md).
* **Der Dienst braucht eine OAuth2-Anmeldung und ist kein Connector:** Baue den Ablauf mit Backend-Funktionen, wie auf dieser Seite beschrieben.

> [!NOTE]
>
> Benutzerdefinierte OpenAPI-Integrationen und MCP-Verbindungen können nicht das eigene Konto jeder Person verbinden. Eine benutzerdefinierte OpenAPI-Integration sendet bei jedem Aufruf dieselben Anmeldedaten, egal wer deine App nutzt. MCP-Verbindungen, die du hinzufügst, gelten nur für den KI-Chat während du baust, nicht für deine veröffentlichte App.

***

## So funktioniert es

Base44 speichert und erneuert keine Tokens für Dienste außerhalb des Katalogs. Deine App erledigt das in ihren eigenen Backend-Funktionen. Der KI-Chat schreibt sie für dich.

**Ein eigener Anmeldeablauf hat 4 Teile:**

* **Verbinden-Schaltfläche:** Eine Backend-Funktion schickt die Person zur Anmeldeseite des Dienstes. Ein Einmalcode verknüpft die Anfrage mit ihr.
* **Callback-Funktion:** Nachdem die Person den Zugriff genehmigt hat, schickt der Dienst sie zurück zu einer Backend-Funktion in deiner App. Diese prüft den Einmalcode und tauscht die Antwort des Dienstes gegen die Tokens der Person.
* **Token-Tabelle:** Die Tokens werden in einer Datentabelle gespeichert, ein Datensatz pro Person. Nur deine Backend-Funktionen lesen sie, nie die Seiten deiner App.
* **API-Funktionen:** Backend-Funktionen rufen den Dienst mit dem Token der Person auf. Läuft es ab, holen sie mit dem Refresh-Token ein neues.

Personen müssen sich bei deiner App anmelden, damit sie weiß, zu wem jede Verbindung gehört. Mehr dazu unter [Anmeldung und Registrierung verwalten](https://docs.base44.com/de/Setting-up-your-app/Managing-login-and-registration.md).

***

## Deine OAuth-App registrieren

Bevor deine App jemanden anmelden kann, registrierst du sie beim Dienst. Der Dienst gibt dir eine Client-ID und ein Client-Secret. Außerdem fragt er, wohin er Personen nach der Anmeldung zurückschicken soll. Diese Adresse ist die öffentliche URL deiner Callback-Funktion.

Jede Backend-Funktion hat ihre eigene öffentliche URL in diesem Format:

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

Nutze die Adresse, unter der Personen deine App öffnen. Wenn du eine eigene Domain verbunden hast, nutze stattdessen diese Domain, zum Beispiel `https://your-domain.com/functions/yourFunctionName`. Wenn der Dienst mehr als eine Redirect-URI akzeptiert, füge beide Adressen hinzu. Wähle den Namen der Callback-Funktion jetzt, etwa `enedisCallback`. So kannst du dem KI-Chat später denselben Namen nennen.

**So registrierst du deine App beim Dienst:**

1. Melde dich im Entwicklerportal des Dienstes an und erstelle eine OAuth-App. Manche Dienste nennen sie Client oder Anwendung.
2. Gib die URL deiner Callback-Funktion als Redirect-URI ein, zum Beispiel `https://your-app-name.base44.app/functions/enedisCallback`.
3. Wähle nur die Scopes, die deine App braucht.
4. Kopiere die Client-ID und das Client-Secret.
5. Kopiere die Autorisierungs-URL und die Token-URL des Dienstes aus seiner Entwicklerdokumentation.

***

## Den Anmeldeablauf bauen

Der KI-Chat schreibt die Funktionen, die Token-Tabelle und die Schaltflächen, auf die Personen klicken. Gib ihm die Details aus der Entwicklerdokumentation des Dienstes. Die Anmeldeeinstellungen eines privaten Dienstes kann er nicht selbst nachschlagen.

> [!WARNING]
>
> Gib dein Client-Secret nie in eine Chatnachricht ein. Wenn der KI-Chat danach fragt, trage es in das Formular ein, das der KI-Chat anzeigt. Oder [füge es selbst als Secret hinzu](https://docs.base44.com/de/Integrations/Using-integrations.md#adding-secrets). Base44 erkennt und verbirgt nur Schlüssel bekannter Dienste. Ein Secret eines anderen Dienstes bleibt also in deiner Nachricht stehen.

**So baust du den Anmeldeablauf:**

1. Öffne deinen App-Editor.

2. Bitte den KI-Chat, den Ablauf zu bauen. Nenne die URLs des Dienstes, deine Scopes und den registrierten Namen der Callback-Funktion. Zum Beispiel:

   ```text theme={null}
   Lass jeden angemeldeten Nutzer sein eigenes Enedis-Konto mit OAuth2 verbinden, damit die App seinen Stromverbrauch anzeigen kann. Enedis ist kein Base44 Connector, baue den Ablauf also mit Backend-Funktionen.

   - Autorisierungs-URL: [aus der Enedis-Dokumentation einfügen]
   - Token-URL: [aus der Enedis-Dokumentation einfügen]
   - Scopes: [die von dir gewählten Scopes]
   - Redirect-URI: [deine Callback-URL]. Verwende genau diese URL in der Autorisierungsanfrage und beim Token-Austausch.
   - Lies die Client-ID und das Client-Secret aus den Secrets ENEDIS_CLIENT_ID und ENEDIS_CLIENT_SECRET.

   Füge eine Schaltfläche „Enedis verbinden“ hinzu, die den Nutzer mit einem einmaligen, an ihn gebundenen State-Wert zur Autorisierungs-URL schickt. Erstelle eine Backend-Funktion namens enedisCallback als Redirect-URI. Sie soll den State prüfen, den Code gegen Tokens tauschen, sie für diesen Nutzer speichern und ihn zurück zur App schicken. Speichere die Tokens in einer Tabelle, in der nur Admins erstellen, lesen, aktualisieren und löschen dürfen, und lies und schreibe sie nur aus Backend-Funktionen mit der Service-Rolle. Erneuere das Access-Token, wenn es abläuft, zeige eine Schaltfläche „Erneut verbinden“, wenn das Erneuern fehlschlägt, und füge eine Schaltfläche „Trennen“ hinzu, die die Tokens des Nutzers löscht.
   ```

3. Wenn der KI-Chat nach deiner Client-ID und deinem Client-Secret fragt, trage sie in das angezeigte Formular ein.

4. Prüfe, ob die Callback-Funktion genau den registrierten Namen hat. Wenn nicht, bitte den KI-Chat, sie umzubenennen.

5. Klicke auf **Dashboard**.

6. Klicke auf **Daten** und wähle dann die Token-Tabelle aus.

7. Klicke oben in der Tabelle auf **Berechtigungen**. Prüfe, ob nur Admins Datensätze erstellen, lesen, aktualisieren oder löschen dürfen. Mehr dazu unter [Datenberechtigungen ändern](https://docs.base44.com/de/Building-your-app/Managing-your-app-data.md#changing-data-permissions).

8. Klicke auf **Test permissions in preview**. Handle dann als normaler Nutzer und prüfe, ob er keine Datensätze in der Token-Tabelle sehen kann.

***

## Veröffentlichen und testen

Der Dienst schickt Personen immer zu deiner veröffentlichten App zurück. Der Callback führt also die zuletzt veröffentlichte Version der Funktion aus, mit den Secrets von damals. Veröffentliche deine App, bevor du testest. Veröffentliche erneut, wenn du eine Funktion oder ein Secret änderst.

**So testest du die Verbindung:**

1. Öffne deinen App-Editor.
2. Veröffentliche deine App.
3. Öffne deine veröffentlichte App und melde dich an.
4. Klicke auf die Verbinden-Schaltfläche, die der KI-Chat hinzugefügt hat.
5. Melde dich mit einem Konto beim Dienst an, das du nutzen darfst, und genehmige den Zugriff.

***

## So verbinden sich Personen

Jede Person, die sich bei deiner App anmeldet, verbindet ihr eigenes Konto. Sie klickt auf die Verbinden-Schaltfläche, meldet sich auf der Seite des Dienstes an und genehmigt den Zugriff. Deine App sieht ihr Passwort für den Dienst nie. Ihre Tokens werden in der Token-Tabelle deiner App gespeichert, die nur deine Backend-Funktionen nutzen. Du und die anderen Bearbeiter deiner App können diese Tabelle trotzdem in deinem Dashboard sehen. Behandle sie also wie andere private Daten.

Bitte Personen nur, Konten zu verbinden, die ihnen gehören oder die sie nutzen dürfen. Frage nur den Zugriff an, den deine App braucht. Erkläre in deiner App, welche Daten du liest und was du damit tust. Manche Dienste haben eigene Regeln zur Einwilligung, vor allem Dienste mit persönlichen oder Haushaltsdaten. Prüfe also die Bedingungen des Dienstes, bevor du veröffentlichst.

***

## Fehlerbehebung

Wenn der Anmeldeablauf nicht funktioniert, finde unten deine Situation.

> [accordion] Der Dienst meldet, dass die Redirect-URI nicht übereinstimmt
>
> Die beim Dienst registrierte Callback-URL muss exakt mit der URL deiner Funktion übereinstimmen. Prüfe, ob sie dieselbe Domain nutzt, auf der deine App läuft. Prüfe außerdem, ob der Funktionsname mit ihrem Ordner in **Code** unter `base44/functions` übereinstimmt, einschließlich Großbuchstaben.

> [accordion] Ich komme zurück zu meiner App, aber mein Konto ist nicht verbunden
>
> Veröffentliche deine App und versuche es dann erneut aus deiner veröffentlichten App. Wenn es weiterhin fehlschlägt, öffne die Datei der Callback-Funktion in **Code** und klicke auf **Logs**. Füge den Fehler in den KI-Chat ein, damit er die Funktion korrigieren kann.

> [accordion] Personen müssen sich zu oft neu verbinden
>
> Das Access-Token läuft wahrscheinlich ab und wird nicht erneuert. Bitte den KI-Chat, es mit dem Refresh-Token zu erneuern. Manche Dienste senden ein Refresh-Token nur, wenn du einen bestimmten Scope oder eine bestimmte Einstellung anfragst. Prüfe also die Dokumentation des Dienstes.

> [!NOTE]
>
> Diese Seite wurde mit KI übersetzt. Die genauesten und aktuellsten Informationen findest du in der [englischen Version](https://docs.base44.com/index.md).


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