Per configurare OAuth per la tua applicazione, devi impostare un flusso di lavoro OAuth e attivare gli ambiti OAuth dell'API Data Portability.
Configurare un flusso di lavoro OAuth
Per configurare un flusso OAuth per la tua applicazione, segui i passaggi di base descritti nella documentazione di Google Identity.
La maggior parte degli sviluppatori utilizza il flusso App web lato server per ottenere il consenso OAuth, ma puoi anche utilizzare il flusso App web JavaScript o il flusso App mobile e desktop.
Ambiti OAuth dell'API Data Portability
Quando configuri l'applicazione API Data Portability per OAuth, abilita gli ambiti OAuth dell'API Data Portability pertinenti per la tua applicazione. Alcuni ambiti
sono sensitive
e restricted
e sono soggetti a requisiti aggiuntivi.
Quando aggiungi gli ambiti dell'API Data Portability al flusso OAuth, possono verificarsi casi in cui l'utente dà il consenso ad alcuni ambiti, ma non a tutti. La tua app deve essere in grado di gestire questi casi:
- Consentire esportazioni di dati parziali
- Notifica all'utente che non ha selezionato tutti gli ambiti necessari (e fallimento elegante)
- Chiedere all'utente i restanti consensi
Tieni presente che il consenso di un utente ti consente un'esportazione di dati per quel consenso specifico. Per scaricare di nuovo i dati, devi ottenere un nuovo consenso dall'utente.
Tieni inoltre presente che durante il flusso OAuth, la tua app non sa quale Account Google è stato utilizzato per dare il consenso. Il token OAuth ricevuto dalla tua applicazione è opaco.
Se cerchi informazioni su come gli utenti condividono i dati, consulta l'articolo Condividere una copia dei tuoi dati con una terza parte.
Limitazioni degli ambiti
Questa sezione illustra le limitazioni degli ambiti che generano errori.
Ambiti misti
Le richieste per gli ambiti dell'API di portabilità dei dati (ad esempio, https://www.googleapis.com/auth/dataportability.*) non possono essere combinate con altri ambiti (ad esempio, https://www.googleapis.com/auth/userinfo.email). Ecco un esempio di richiesta non valida, con la parte limitata in grassetto:
https://accounts.google.com/o/oauth2/v2/auth?
client_id=client_id&
redirect_uri=redirect_uri&
response_type=token&
scope=https://www.googleapis.com/auth/dataportability.myactivity.search+https://www.googleapis.com/auth/userinfo.email&
include_granted_scopes=false
Ambiti concessi in precedenza
Non devi mai impostare include_granted_scopes=true
quando richiedi gli ambiti DPAPI.
Ecco un esempio di richiesta non valida, con la parte con limitazioni in grassetto:
https://accounts.google.com/o/oauth2/v2/auth?
client_id=client_id&
redirect_uri=redirect_uri&
response_type=token&
scope=https://www.googleapis.com/auth/dataportability.myactivity.search&
include_granted_scopes=true
Categorie di ambiti
Per l'elenco di tutti gli ambiti OAuth supportati dall'API Data Portability e le relative categorie, vedi Ambiti OAuth disponibili. Per un elenco di tutti i gruppi di risorse e gli ambiti OAuth supportati da un determinato servizio, consulta la pagina di riferimento dello schema del servizio in questione.