So funktioniert es
Flowella unterstützt drei OAuth-Grants: Authorization Code mit PKCE für die Organisationen von Kunden, Client Credentials für Ihre eigene Organisation sowie Refresh Tokens. Der Ablauf zeigt, wie ein Kunde Ihre App mit dem Authorization-Code-Grant installiert.Bevor Sie beginnen
- Sie benötigen die Rolle Owner oder Admin in der Organisation, der die App gehören soll. Andere Rollen sehen Developer apps im Menü, aber die Liste wird für sie nicht geladen.
- Ihre App benötigt eine Callback-Adresse (Redirect URI), die den Autorisierungscode empfangen kann.
- Ihre App muss bei jeder Autorisierungsanfrage einen
state-Wert und eine mitS256erzeugte PKCE-code_challengesenden.
Eine App registrieren
1
Developer apps öffnen
Gehen Sie zu Settings und wählen Sie in der Gruppe Developer die Option Developer apps.
2
Eine neue App beginnen
Wählen Sie Create app. Der Dialog Create developer app öffnet sich.
3
Die App benennen
Geben Sie unter App name den Namen ein, unter dem Kunden Ihr Produkt kennen, mit bis zu 120 Zeichen, zum Beispiel
Acme CRM connector.4
Redirect URIs hinzufügen
Geben Sie unter Redirect URIs jede Callback-Adresse in einer eigenen Zeile ein, bis zu 20. Bei der Autorisierung muss die
redirect_uri, die Ihre App sendet, genau mit einer davon übereinstimmen.5
Scopes wählen
Unter Scopes sind die Lese-Scopes bereits aktiviert. Aktivieren Sie alle weiteren Scopes, die Ihre App benötigt, und deaktivieren Sie die, die sie nicht benötigt. Mehr kann Ihre App nie anfordern. Siehe Scopes.
6
Die App erstellen und das Secret kopieren
Wählen Sie Create app. Der Dialog Save your client secret zeigt das Client Secret an, das mit
flc_ beginnt. Wählen Sie Copy, speichern Sie das Secret auf Ihrem Server und wählen Sie dann Done.floa_), Redirect URIs und das Datum Created an, mit einer Schaltfläche Delete unter Actions.
Einen Kunden durch die Autorisierung führen
Leiten Sie den Browser des Kunden zum Autorisierungsendpunkt auf dem Host der Flowella-App:
Ist die Anfrage ungültig, zeigt Flowella statt des Zustimmungsbildschirms einen Fehler an und leitet nicht weiter. Das passiert zum Beispiel, wenn die
redirect_uri nicht übereinstimmt oder ein Scope nicht erlaubt ist.
Was der Kunde sieht
- Wenn die Person nicht angemeldet ist, fordert Flowella sie zuerst zur Anmeldung auf.
- Die Person muss Owner oder Admin der Organisation sein. Alle anderen sehen den Fehler
Owner or admin role required to authorize apps. - Der Bildschirm Authorize app zeigt Ihre Client ID: und die Requested scopes: an. Wenn Ihre App keinen
scopegesendet hat, steht dort This app will receive its default allowed scopes. - Die Person wählt Allow access oder Deny.
redirect_uri mit code und state im Query-String. Der Code ist 10 Minuten gültig und funktioniert einmal. Deny leitet den Browser zu Ihrer redirect_uri mit error=access_denied, einer error_description und Ihrem state.
Den Code gegen Tokens tauschen
Ihr Server tauscht den Code am Token-Endpunkt ein. Authentifizieren Sie sich mit Ihrer Client-ID und Ihrem Secret, entweder mit HTTP-Basic-Authentifizierung oder alsclient_id und client_secret im Body. Der Body kann formularcodiert oder JSON sein.
Der Token-Endpunkt akzeptiert 30 Anfragen pro Minute für jede Client-ID und IP-Adresse. Darüber hinaus gibt er
429 mit einem Header Retry-After zurück.
Die API aufrufen
Senden Sie das Access Token als Bearer-Token, genau wie einen API-Schlüssel:403 INSUFFICIENT_SCOPE zurück. Jedes Access Token hat sein eigenes Ratenlimit. Siehe die API-Einführung.
POST /v1/templates/send akzeptiert nur API-Schlüssel und lehnt OAuth-Access-Tokens mit 401 ab.Ein Access Token erneuern
Fordern Sie vor Ablauf des Access Tokens mitgrant_type=refresh_token, dem refresh_token und Ihrer Client-Authentifizierung ein neues an. Die Antwort enthält ein neues Access Token und ein neues Refresh Token, und das alte Refresh Token funktioniert nicht mehr. Wenn jemand ein bereits verwendetes Refresh Token vorlegt, widerruft Flowella alle aus dieser Autorisierung ausgestellten Tokens, und der Kunde muss Ihre App erneut genehmigen.
Auf Ihre eigene Organisation zugreifen
Um die API für die Organisation aufzurufen, der die App gehört, verwenden Siegrant_type=client_credentials mit Ihrer Client-Authentifizierung und einem optionalen scope. Sie erhalten ein Access Token ohne Refresh Token. Ihre App erscheint dann unter Installed apps in Ihrer eigenen Organisation.
Ein Token widerrufen oder prüfen
Beide Endpunkte benötigen Ihre Client-Authentifizierung. Das Discovery-Dokument unter
https://app.flowella.io/.well-known/oauth-authorization-server listet alle Endpunkte und unterstützten Optionen auf.
Installierte Apps prüfen und widerrufen
Kunden verwalten die von ihnen genehmigten Apps unter Installed apps. Sie benötigen die Rolle Owner oder Admin. Die Liste zeigt:
So widerrufen Sie eine App:
- Gehen Sie zu Settings und wählen Sie in der Gruppe Developer die Option Installed apps.
- Wählen Sie in der Zeile der App Revoke.
- Bestätigen Sie die Abfrage Revoke this install? Existing tokens stop working.
Wenn Sie Ihre eigene App in Ihrer eigenen Organisation widerrufen, stoppt das den Client-Credentials-Grant nicht: Die App kann ein neues Token anfordern, wodurch die Installation wieder aktiviert wird. Um Ihre eigene App vollständig abzuschneiden, löschen Sie sie unter Developer apps.
Eine App löschen
Wählen Sie unter Developer apps in der Zeile der App Delete und bestätigen Sie Delete this app and its tokens? Flowella entfernt die App, ihre Installation in jeder Organisation, die sie genehmigt hat, und alle ihre Tokens. Dies lässt sich nicht rückgängig machen.Fehlerbehebung
Could not load developer apps oder Could not load installed apps
Could not load developer apps oder Could not load installed apps
Nur Owners und Admins können diese Bildschirme anzeigen. Bitten Sie einen Owner oder Admin, die App für Sie zu verwalten. Rollen lassen sich in der App nicht ändern: siehe Die Rolle einer Person ändern.
Redirect URI stimmt nicht überein
Redirect URI stimmt nicht überein
Die
redirect_uri in der Anfrage muss genau mit einer der registrierten Redirect URIs der App übereinstimmen, einschließlich Schema, Pfad und eines eventuellen abschließenden Schrägstrichs. Derselbe Wert muss beim Eintauschen des Codes erneut gesendet werden. Redirect URIs einer App lassen sich nicht bearbeiten, registrieren Sie daher eine neue App, wenn Sie eine andere benötigen.invalid_scope
invalid_scope
Ein angeforderter Scope ist falsch geschrieben oder gehört nicht zu den Scopes der App. Fordern Sie nur Scopes an, die Sie beim Registrieren der App aktiviert haben.
Der Code-Austausch schlägt fehl
Der Code-Austausch schlägt fehl
Die Meldungen
Authorization code expired und Authorization code already used bedeuten, dass Sie die Autorisierung neu starten müssen: Codes gelten 10 Minuten und funktionieren einmal. PKCE verification failed bedeutet, dass der code_verifier nicht zur gesendeten code_challenge passt.Verwandt
API-Einführung
Authentifizierung, Scopes, Ratenlimits und Fehler.
Developer Hub
Letzte API-Anfragen, Schnellstarts und die API-Sandbox.
API-Schlüssel
Einfacherer Zugriff für Ihre eigenen Skripte und Integrationen.
Webhooks-Referenz
Auf Ereignisse in den Organisationen reagieren, die Ihre App installieren.

