Utilizzo della posta elettronica per autorizzare l'accesso all'account di un utente

1

apprezzerebbe molto alcuni consigli degli esperti qui su questo stackexchange.

Sto costruendo un'applicazione che richiede l'accesso alle risorse di un utente da un'applicazione di terze parti. Questa terza parte non fornisce alcun tipo di autorizzazione simile a OAuth per consentire a un utente di concedere alla mia app questo tipo di permesso.

Tuttavia, la terza parte ha un'API che mi consente (come partner fidato autorizzato con chiavi API a livello di app) di accedere alle informazioni di qualsiasi utente purché disponga del proprio ID account. Hanno anche un'API che mi consente di cercare l'ID account di un utente tramite il loro indirizzo email.

Dato che uno schema di tipo di autorizzazione delegato non è disponibile per me con questa terza parte, sto considerando quanto segue come speravo di ottenere un feedback:

  1. Chiedi all'utente della mia app di inserire l'indirizzo email associato al suo account di terze parti.
  2. Mostra loro un modulo per inserire un codice e digli di controllare la posta elettronica.
  3. Invia a quell'indirizzo e-mail un link sicuro e una tantum che, quando cliccato, fornisce loro il codice.
  4. Inserisci il codice nella mia app.

Ora (credo) ho verificato che l'utente dell'app è il proprietario di questa email. Ora posso utilizzare le API di terze parti per trovare il loro ID account (tramite questa email) e recuperare le risorse protette da questa terza parte.

Qualsiasi feedback sarebbe molto apprezzato. SMTP essendo un protocollo insicuro mi fa fermare. Mi chiedo se ci siano altri buchi a cui non sto pensando.

Modifica

Vedo questo post- L'invio di collegamenti autorizzativi tramite posta elettronica a una vulnerabilità? - potrebbe essere la stessa domanda. Sembra che la risposta accettata sia ok, ma non eccezionale, a condizione che il meccanismo inviato via email abbia vita breve.

    
posta mlenner 06.10.2014 - 17:00
fonte

0 risposte

Leggi altre domande sui tag