net mvc example bearer asp rest authentication authorization oauth-2.0 asp.net-web-api

rest - mvc - Autorización y autenticación de la API web de ASP.NET



web api authentication example (2)

Hay un muy buen artículo que describe la autenticación / autorización con token / clave:

También describe algunas otras buenas prácticas relacionadas con la seguridad de la API web de ASP.NET.

Estoy tratando de construir una api web segura de asp.net. Puede encontrar muchas formas de proteger su API, pero quiero saber cuál es la mejor manera o el "estándar de la industria" para implementar esto en mi caso.

Estos son mis requisitos: la API será utilizada por un pequeño número de desarrolladores externos para sitios web / aplicaciones móviles, etc. Los desarrolladores que quieran usar esta API deben recibir una clave para acceder a la API (Autorización) Los visitantes / consumidores deben iniciar sesión en las aplicaciones de terceros para ver su información personalizada. - La API utilizará una base de datos de membresía ASP para administrar / autenticar a los usuarios.

Sé que es posible usar la autenticación básica de http para autenticar usuarios, pero ¿cómo implemento la parte de autorización de la API?

¿Es OAuth 2.0 una solución?


También sugeriría el uso de la biblioteca Thinktecture.IndentityModel.40 que puede admitir lo siguiente:

Base

  • Codificación Base64Url
  • Época Fecha hora de conversión
  • Generación de números aleatorios
  • Comparación de cadena de tiempo constante

Reclamaciones

  • Anoynmous reclama principal
  • Autenticación de reclamo instantáneo
  • Autorización basada en reclamaciones

Constante

  • Constantes útiles cuando se trata de algoritmos, formatos de fecha y hora, JWT, SWT, WS-Security y WS-Trust

Métodos de extensión

  • XML (desde y hacia XmlReader, XmlDocument, XDocument)
  • WS-Trust RSTRs
  • Conversión de token de seguridad
  • Certificados X.509