Quando si utilizza il protocollo OAuth, è necessaria una stringa segreta ottenuta dal servizio a cui si desidera delegare. Se lo stai facendo in un'app Web, puoi semplicemente archiviare il segreto nella tua base di dati o nel file system, ma qual è il modo migliore per gestirlo in un'app mobile (o in un'app desktop)?
Memorizzare la stringa nell'app non è ovviamente buono, poiché qualcuno potrebbe facilmente trovarla e abusarla.
Un altro approccio potrebbe essere quello di archiviarlo sul server e far sì che l'app lo recuperi ad ogni esecuzione, senza mai memorizzarlo sul telefono. Questo è quasi altrettanto negativo, perché devi includere l'URL nell'app.
L'unica soluzione praticabile che posso trovare è prima ottenere il token di accesso normalmente (preferibilmente utilizzando una vista Web all'interno dell'app), quindi instradare tutte le ulteriori comunicazioni attraverso il nostro server, che aggiungerebbe il segreto ai dati della richiesta e comunicare con il fornitore. Poi di nuovo, sono un sostenitore della sicurezza, quindi mi piacerebbe davvero sentire le opinioni di alcune persone competenti su questo. Non mi sembra che la maggior parte delle app faccia di tutto per garantire la sicurezza (ad esempio, Facebook Connect sembra presumere che tu abbia messo il segreto in una stringa direttamente nella tua app).
Un'altra cosa: non credo che il segreto sia coinvolto nella richiesta iniziale del token di accesso, quindi ciò potrebbe essere fatto senza coinvolgere il nostro server. Ho ragione?