Distribuzione del token dell'API dell'applicazione

3

Ho scritto un semplice client Twitter per l'utilizzo da riga di comando. Per tale applicazione, Twitter richiede due tipi di token, ovvero

  • identificazione dell'applicazione,
  • Token OAuth utente

Il secondo è quello di consentire all'utente di connettersi al proprio account, e il primo è in linea di principio per identificare lo sviluppatore / applicazione per Twitter.

Finora, ho distribuito (ben posizionato su github) solo il codice senza alcun token. I token utente sono chiari, spetta all'utente finale autorizzare l'accesso al proprio account.

Il problema che ho è per il token di identificazione dell'applicazione. Finora, ho richiesto che l'utente finale registrasse un'applicazione, prendesse quel token e usasse il codice. Ho paura che se fosse disponibile direttamente, le persone potrebbero prenderlo, usarlo in un'altra applicazione e abusare dell'API di Twitter. Ma questo ha un costo di complessità per l'utente finale.

Come devo condividere / organizzare l'identificazione dell'applicazione che è al contempo sicura per lo sviluppatore e semplice per l'utente?

    
posta bilbo_pingouin 02.03.2016 - 08:06
fonte

1 risposta

2

Il tuo problema non è la condivisione segreta; è più filosofico in termini di come i sistemi sono progettati.

Se quello che hai è un'applicazione CLI che devi avere sul tuo sistema e, a sua volta, contatta direttamente l'API di Twitter, non sarai mai in grado di "nascondere" questo token ID dell'applicazione. Devi accettare il rischio e fornire il tuo ID o gli utenti finali devono registrarsi. Non c'è una terza opzione.

La soluzione alternativa sarebbe quella di ospitare l'applicazione principale come componente lato server che tu (oi tuoi "middle-user") conservi su un server. Qui puoi tenere questo token ID dell'applicazione. L'applicazione CLI verrà utilizzata dagli utenti finali come client che interagisce con questo componente server e la parte server interagisce con l'API di Twitter utilizzando il token fornito dall'utente e il proprio token ID dell'applicazione.

    
risposta data 02.03.2016 - 08:48
fonte

Leggi altre domande sui tag