Come funziona
Flowella supporta tre grant OAuth: authorisation code con PKCE per le organizzazioni dei clienti, client credentials per la vostra organizzazione e refresh token. La sequenza mostra come un cliente installa la vostra app con il grant authorisation code.Prima di iniziare
- Serve il ruolo Owner o Admin nell’organizzazione che sarà proprietaria dell’app. Gli altri ruoli vedono Developer apps nel menu, ma per loro l’elenco non si carica.
- La vostra app ha bisogno di un indirizzo di callback (redirect URI) in grado di ricevere il codice di autorizzazione.
- La vostra app deve inviare un valore
statee uncode_challengePKCE generato conS256a ogni richiesta di autorizzazione.
Registrare un’app
1
Aprite Developer apps
Andate su Settings, poi selezionate Developer apps nel gruppo Developer.
2
Avviate una nuova app
Selezionate Create app. Si apre la finestra di dialogo Create developer app.
3
Assegnate un nome all'app
In App name, inserite il nome con cui i clienti conoscono il vostro prodotto, fino a 120 caratteri, ad esempio
Acme CRM connector.4
Aggiungete i redirect URI
In Redirect URIs, inserite ogni indirizzo di callback su una riga separata, fino a 20. Durante l’autorizzazione, il
redirect_uri inviato dalla vostra app deve corrispondere esattamente a uno di questi.5
Scegliete gli scope
Sotto Scopes, gli scope di lettura sono già selezionati. Selezionate gli altri scope necessari alla vostra app e deselezionate quelli che non servono. Questi sono il massimo che la vostra app potrà mai richiedere. Consultate Scopes.
6
Create l'app e copiate il secret
Selezionate Create app. La finestra di dialogo Save your client secret mostra il client secret, che inizia con
flc_. Selezionate Copy, conservate il secret sul vostro server, poi selezionate Done.floa_), Redirect URIs e data Created, con un pulsante Delete sotto Actions.
Guidare un cliente attraverso l’autorizzazione
Indirizzate il browser del cliente all’endpoint di autorizzazione sull’host dell’app Flowella:
Se la richiesta non è valida, Flowella mostra un errore al posto della schermata di consenso e non effettua il reindirizzamento. Succede, ad esempio, quando il
redirect_uri non corrisponde o uno scope non è consentito.
Cosa vede il cliente
- Se la persona non ha effettuato l’accesso, Flowella le chiede prima di accedere.
- La persona deve essere Owner o Admin dell’organizzazione. Chiunque altro vede l’errore
Owner or admin role required to authorize apps. - La schermata Authorize app mostra il vostro Client ID: e i Requested scopes:. Se la vostra app non ha inviato uno
scope, riporta This app will receive its default allowed scopes. - La persona seleziona Allow access o Deny.
redirect_uri con code e state nella query string. Il codice è valido per 10 minuti e funziona una sola volta. Deny indirizza il browser al vostro redirect_uri con error=access_denied, una error_description e il vostro state.
Scambiare il codice con i token
Il vostro server scambia il codice presso l’endpoint dei token. Autenticatevi con il vostro client ID e secret, tramite autenticazione HTTP Basic oppure comeclient_id e client_secret nel corpo della richiesta. Il corpo può essere codificato come form oppure JSON.
L’endpoint dei token accetta 30 richieste al minuto per ogni client ID e indirizzo IP. Oltre questa soglia, restituisce
429 con un’intestazione Retry-After.
Chiamare l’API
Inviate l’access token come bearer token, esattamente come una chiave API:403 INSUFFICIENT_SCOPE. Ogni access token ha il proprio limite di frequenza. Consultate l’introduzione all’API.
POST /v1/templates/send accetta solo chiavi API e rifiuta gli access token OAuth con 401.Rinnovare un access token
Prima che l’access token scada, richiedetene uno nuovo congrant_type=refresh_token, il refresh_token e l’autenticazione del vostro client. La risposta contiene un nuovo access token e un nuovo refresh token, e il vecchio refresh token smette di funzionare. Se qualcuno presenta un refresh token già usato, Flowella revoca tutti i token emessi da quell’autorizzazione e il cliente deve approvare di nuovo la vostra app.
Accedere alla vostra organizzazione
Per chiamare l’API per l’organizzazione proprietaria dell’app, usategrant_type=client_credentials con l’autenticazione del vostro client e uno scope facoltativo. Ottenete un access token senza refresh token. La vostra app compare quindi sotto Installed apps nella vostra organizzazione.
Revocare o ispezionare un token
Entrambi gli endpoint richiedono l’autenticazione del vostro client. Il documento di discovery su
https://app.flowella.io/.well-known/oauth-authorization-server elenca tutti gli endpoint e le opzioni supportate.
Verificare e revocare le app installate
I clienti gestiscono le app che hanno approvato sotto Installed apps. Serve il ruolo Owner o Admin. L’elenco mostra:
Per revocare un’app:
- Andate su Settings, poi selezionate Installed apps nel gruppo Developer.
- Selezionate Revoke nella riga dell’app.
- Confermate il messaggio Revoke this install? Existing tokens stop working.
Revocare la vostra app nella vostra organizzazione non blocca il grant client credentials: l’app può richiedere un nuovo token, che riattiva l’installazione. Per bloccare completamente la vostra app, eliminatela sotto Developer apps.
Eliminare un’app
In Developer apps, selezionate Delete nella riga dell’app e confermate Delete this app and its tokens? Flowella rimuove l’app, la sua installazione in ogni organizzazione che l’ha approvata e tutti i suoi token. L’operazione non può essere annullata.Risoluzione dei problemi
Could not load developer apps o Could not load installed apps
Could not load developer apps o Could not load installed apps
Solo Owner e Admin possono visualizzare queste schermate. Chiedete a un Owner o a un Admin di gestire l’app per voi. I ruoli non possono essere modificati nell’app: consultate Change someone’s role.
Redirect URI non corrispondente
Redirect URI non corrispondente
Il
redirect_uri nella richiesta deve corrispondere esattamente a uno dei redirect URI registrati dell’app, compresi schema, percorso ed eventuale barra finale. Lo stesso valore deve essere inviato di nuovo quando scambiate il codice. Non potete modificare i redirect URI di un’app, quindi registrate una nuova app se ve ne serve uno diverso.invalid_scope
invalid_scope
Uno scope richiesto è scritto male o non fa parte degli scope dell’app. Richiedete solo gli scope che avete selezionato quando avete registrato l’app.
Lo scambio del codice non riesce
Lo scambio del codice non riesce
I messaggi
Authorization code expired e Authorization code already used indicano che dovete avviare di nuovo l’autorizzazione: i codici durano 10 minuti e funzionano una sola volta. PKCE verification failed significa che il code_verifier non corrisponde al code_challenge che avete inviato.Risorse correlate
Introduzione all'API
Autenticazione, scope, limiti di frequenza ed errori.
Developer hub
Richieste API recenti, guide rapide e la API sandbox.
Chiavi API
Un accesso più semplice per i vostri script e le vostre integrazioni.
Riferimento webhook
Reagite agli eventi nelle organizzazioni che installano la vostra app.

