Attualmente ho un'applicazione PC nativa che crea e carica una configurazione su un dispositivo Linux incorporato (cioè il client). Questo dispositivo si connette a Google Calendar tramite la loro API OAuth2. La configurazione richiede:
- Un proprietario di risorse per accedere alla console di amministrazione di Google e scaricare il JSON contenente il client segreto
- Importa il file JSON nel software e autorizza l'account tramite un codice temporale e un browser web
- Connetti al client (che è protetto da password) e usa il file JSON ora autorizzato per collegarlo per ottenere i token e comunicare con il server
I passaggi 1 e 2 sono in genere gestiti dal reparto IT e il passaggio 3 viene generalmente gestito da un integratore di terze parti. Pertanto, una volta autorizzato, il software crittografa il file JSON, la password protegge la configurazione e può essere inviata a detta terza parte.
La crittografia del file JSON e la password sono sufficienti per proteggere la configurazione? Teoricamente questo file può ora essere utilizzato su qualsiasi hardware a cui il software può connettersi, quindi c'è il rischio che le credenziali vengano utilizzate in modo improprio. La rimozione del file JSON dal software renderebbe la distribuzione molto meno semplice.
Esiste un'alternativa oltre all'educazione sul rischio minimo accettabile? L'unica cosa che posso pensare di mantenere entrambe le parti felici (er) è in qualche modo richiedere che il token venga riautorizzato dopo una sessione, ma non sono sicuro che qualcosa del genere possa essere imposto sul server di Google.