C'è qualcosa di sbagliato nell'usare lo stesso nome utente per tutti gli utenti api con l'autenticazione di base HTTP?

2

Sto creando un'API Web che accoda i messaggi e instrada i webhook su singoli siti. Il servizio di posta elettronica transazionale MailGun fornisce una chiave API per tutti gli utenti, che viene utilizzata come password di autenticazione di base HTTP. Tutti gli account utilizzano api come nome utente dell'autorizzazione di base HTTP. Ciò si traduce in api:SPECIFIC_API_TOKEN per tutti gli account.

Questa è una pratica accettabile e c'è una situazione specifica in cui il servizio che sto costruendo potrebbe o non dovrebbe utilizzare questo metodo di autenticazione?

    
posta CanadaIT 29.03.2017 - 21:48
fonte

2 risposte

1

Viene usato per facilitare l'uso della funzionalità di autenticazione di base, l'autenticazione di base richiede di inviare anche un nome utente ( RFC2617 ):

The "basic" authentication scheme is based on the model that the client must authenticate itself with a user-ID and a password for each realm.

Nel caso di MailGun, usano solo il token API per identificare l'utente (che è normalmente utilizzato da un nome utente) e per autenticare l'utente (password).

Potrebbero aver usato un'intestazione personalizzata, ma probabilmente è (o - discutibilmente) più facile usare l'autenticazione di base per poter riutilizzare le funzionalità esistenti con i client legacy.

    
risposta data 29.03.2017 - 23:03
fonte
0

Avere un solo nome utente potenzialmente rende molto più facile per qualcuno ottenere accesso non autorizzato. Avere nomi utente separati significa che esiste un solo token valido per nome utente. Se tutti usano lo stesso nome utente, ci sono più token che sono validi. L'utente non autorizzato deve solo indovinarne uno. Non suggerisco di farlo specialmente se l'API consente l'accesso a qualsiasi tipo di dati riservati o tiene traccia di qualsiasi cosa relativa a un account specifico.

    
risposta data 29.03.2017 - 22:57
fonte

Leggi altre domande sui tag