Voglio creare un client Twitter thick-client, desktop e open source. Mi capita di utilizzare .NET come lingua e Twitterizer come wrapper OAuth / Twitter, e probabilmente la mia app verrà rilasciata come open source .
Per ottenere un token OAuth, sono necessarie quattro informazioni:
- Token di accesso (nome utente twitter)
- Accesso segreto (password twitter)
- Chiave utente
- Segreto consumatore
Le seconde due informazioni non devono essere condivise, come una chiave privata PGP. Tuttavia, a causa del modo in cui è progettato il flusso di autorizzazione OAuth, questi devono trovarsi nell'app nativa. Anche se l'applicazione non era open source e la chiave / il segreto del consumatore sono stati crittografati, un utente ragionevolmente esperto potrebbe ottenere l'accesso alla chiave privata / coppia segreta.
Quindi la mia domanda è, come faccio a risolvere questo problema? Qual è la strategia corretta per un client Twitter desktop per proteggere la chiave e il segreto del consumatore?