Domanda

ho chiesto a un domanda simile qui un po 'indietro, ma tutti le risposte offrivano OpenID che è bello, ma non funziona con i servizi che richiedono l'autenticazione che non ne fanno uso (come EventBrite).

Di 'Voglio creare un app che elenca i tuoi eventi da Brite evento, e le loro analisi (che comprende Eventbrite). Qualsiasi persona può iscriversi a questo servizio per elencare i loro eventi. Ma dal momento che EventBrite non ha OpenID per l'autenticazione, ho bisogno di ottenere in qualche modo il login utente e password per EventBrite.

Alcune soluzioni possibili sono:

  1. credenziali Conservare in YAML come questo . Facilmente hackable.
  2. Hanno all'utente di inserire le credenziali in un modulo sul mio sito, risparmio il credenziali al mio database, e li usa per accedere a EventBrite. Facilmente hackable.
  3. Hanno all'utente di inserire credenziali di accesso e li ho passare direttamente al EventBrite senza salvare, e risparmio il cookie di intestazione di risposta al database, e quando loro scadenza, li hanno nuovamente il login. E 'questo facilmente hackable?

Questo servizio ipotetica vuole anche per controllare automaticamente gli eventi (ad esempio via cron), in modo che non dipende l'utente andando al mio sito tramite il browser. Quindi, biscotti o credientials devono essere memorizzati da qualche parte.

La cosa è, dopo aver chiesto questo domanda simile su riservatezza e la sicurezza suona come si dovrebbe non creare un'applicazione che fa quello che sto descrivendo. Ci deve essere un modo costruire qualcosa di simile a questo è bene.

Qual è in questo modo? Che cosa mi manca? Va bene andare con 3 # e salvare i cookie (ma ancora bisogno l'utente a presentare la loro e-mail / password tramite una forma che mando a Eventbrite)? Che cosa è una soluzione accettabile al problema?

È stato utile?

Soluzione

Non c'è un modo sicuro per fare questo. È possibile impiegare soluzioni alternative, ma che su di esso.

  1. Memorizzazione password in YAML o XML in chiaro è definitivamente fuori
  2. In realtà, anche la crittografia e la memorizzazione di password è sbagliata. L'applicazione avrebbe bisogno di un modo per decifrare le password, in modo l'attaccante può anche decifrare le password.
  3. Il metodo consigliato per memorizzare le password è Salt + Hash, ma perché diventa irrecuperabile, è inutile nel tuo caso.
  4. A causa di 2 e 3, non importa dove si memorizzano le credenziali degli utenti, si sono vulnerabili.
  5. La memorizzazione dei cookie al posto delle password è un'idea migliore. Ma ancora una volta, ciò comporta la password di passare attraverso il vostro sito web, che non è buono.

Data la situazione, la memorizzazione del cookie è un approccio migliore. Utilizzare HTTPS in tutto, anche sul tuo sito web. Il suo meno ideale, però, e voi ei vostri utenti dovrebbero essere consapevoli di esso.

Altri suggerimenti

Eventbrite ha di recente rilascio di nuova documentazione che descrive come implementare OAuth2.0 per l'autenticazione utente cross-site . Ti consiglio di utilizzare il nostro Javascipt a base OAuth2.0 widget di , che memorizza i token di autenticazione dell'utente in localStorage del loro browser di default. Dal momento che i token auth vengono memorizzati nel browser dell'utente, e sono impedito di essere accessibile da altri domini, non è probabile che non ci sarebbe eventuali perdite di sicurezza.

La necessità di e-mail e password combo sono completamente evitato in questo schema di autenticazione.

La maggior parte dei siti di supportare solo login diretto con la password in chiaro originale, in modo da avere per ottenere, conservare e fornire anche questo. E non avrei mai mai fidarmi di te con quello. Il problema con il vostro concetto è che si richiede la password da dare a terzi. La soluzione non è quello di coinvolgere una terza parte, ad esempio, il mio browser è abbastanza bravo a memorizzare e compilando le password per me automaticamente (il mio hard-drive è protetto da password troppo). E sono decine di altre applicazioni della password portafoglio troppo. Io non guadagno nulla mediante la sottoscrizione, utilizzando il vostro servizio.

Prima di entrare in tale attività un, si consideri che si sta per essere il bersaglio # 1. Facebook, Google sono incredibilmente paranoici sulla sicurezza, spendere un sacco di tempo, denaro e fatica per mantenere i dati di accesso al sicuro. Avete le stesse risorse? Allora sei un bersaglio migliore. Anche per l'hacking vostro servizio, che subito ottengono più account, le password degli utenti, anche vedendo che è sempre riutilizzando la sua password.

Per lavorare con le API di Eventbrite, mi consiglia garantire che tutti i collegamenti siano su SSL, e che l'autenticazione utilizzando un user_key piuttosto che un nome utente e una password.

Maggiori informazioni su di autenticazione per l'Eventbrite API è qui: http://developer.eventbrite.com/ doc / auth /

Dopo l'accesso, gli utenti possono trovare il loro user_key qui: http://www.eventbrite.com/userkeyapi

Questo dovrebbe impedire che il nome utente e la password vengano intercettate attraverso il cavo, o leggere da un archivio dati locale.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top