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
yEmailTokenProvider
: estos proveedores se derivan deTotpSecurityStampBasedTokenProvider
, que implementa elTime-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?