tutorial net español asp asp.net asp.net-core

asp.net - net - AddDefaultTokenProviders: ¿qué es y cómo usar esos "proveedores predeterminados"?



asp.net core github (1)

A pesar de su nombre, los proveedores de tokens no tienen nada que ver con la autenticación de token: se utilizan exclusivamente para generar tokens opacos para operaciones de cuenta (como restablecimiento de contraseña o cambio de correo electrónico) y autenticación de dos factores.

Actualmente hay 3 proveedores integrados:

  • DataProtectorTokenProvider : como su nombre indica, usa el bloque de protección de datos (equivalente de las claves de máquina en ASP.NET Core 1.0) para serializar tokens cifrados que luego el servidor puede deserializar.

  • EmailTokenProvider y EmailTokenProvider : estos proveedores se derivan de TotpSecurityStampBasedTokenProvider , que implementa el Time-based One-time Password Algorithm (TOTP), un protocolo diseñado para generar tokens fáciles de usar que se pueden enviar por SMS o correo electrónico.

ASP.NET Core 1.0 no ofrece soporte de autenticación de token nativo (solo se admite la validación de token: no puede producir sus propios tokens). Puedes leer estas publicaciones SO para más información:

  • Autenticación JWT simple en ASP.NET Core 1.0 Web API .
  • Autenticación API web en ASP.NET 5 .
  • Configurar el punto final del servidor de autorización .

Encontré esto en mi archivo Startup.cs en ConfigureServices en un proyecto predeterminado de Visual Studio 2015 ASP.NET 5:

services.AddIdentity<ApplicationUser, IdentityRole>() .AddEntityFrameworkStores<AuthorizationDbContext>() .AddDefaultTokenProviders();

¿Qué hace exactamente y cómo usar esos "proveedores predeterminados"? ¿Configura todas las autenticaciones basadas en token para mí? ¿Dónde puedo leer más sobre esto?