2012-09-18 14 views
18

Sto provando a creare un API asp.net sicuro. Puoi trovare molti modi per proteggere la tua API, ma voglio sapere qual è il modo migliore o lo "standard del settore" per implementarlo nel mio caso.Autorizzazione e autenticazione dell'API Web ASP.NET

Questi sono i miei requisiti - L'API verrà utilizzato da un piccolo numero di sviluppatori di terze parti per i siti web/applicazioni mobili ecc - Gli sviluppatori che vogliono utilizzare questa API devono essere date una chiave per accedere alle API (Autorizzazione) - Gli utenti (Visitatori/consumatori) devono accedere alle app di terze parti per vedere le loro informazioni personalizzate. - L'API utilizzerà un database di appartenenza ASP per la gestione/autenticazione degli utenti.

So che è possibile utilizzare l'autenticazione di base http per l'autenticazione degli utenti, ma come si implementa la parte di autorizzazione dell'API?

È OAuth 2.0 una soluzione?

risposta

11

C'è un ottimo articolo che descrive l'autenticazione/autorizzazione con Token/chiave:

Esso descrive anche alcune altre buone pratiche in materia di sicurezza API Web ASP.NET.

6

Vorrei anche suggerire l'uso della biblioteca Thinktecture.IndentityModel.40 in grado di supportare il seguente:

Base

  • codifica Base64Url
  • Epoch conversione Data Ora
  • Generazione di numeri casuali
  • Confronto stringa costante di tempo

rivendicazioni

  • Anoynmous ferma principale
  • autenticazione di richiesta istantanea
  • rivendicazioni autorizzazione basata

costante

  • Costanti utili quando si tratta di algoritmi, formati di tempo data, JWT, SWT, WS-Security & WS-Trust

Metodi di estensione

  • XML (da e per XmlReader, XmlDocument, XDocument)
  • RSTRs WS-trust
  • Security conversione del token
  • certificati X.509
Problemi correlati