2016-02-16 9 views
11

ho trovato questo nel mio file Startup.cs in ConfigureServices in Visual Studio 2015 di default ASP.NET 5 progetto:AddDefaultTokenProviders: che cos'è e come utilizzare questi "provider predefiniti"?

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

cosa esattamente fare, e come usare questi "fornitori di default"? Configura per me tutte le autenticazioni basate su token? Dove posso leggere di più a riguardo?

risposta

13

Nonostante il loro nome, i provider di token non hanno nulla a che fare con l'autenticazione token: vengono utilizzati esclusivamente per generare token opachi per operazioni di account (come la reimpostazione della password o la modifica della posta elettronica) e l'autenticazione a due fattori.

ci sono 3 fornitori incorporati:

  • DataProtectorTokenProvider: come suggerisce il nome, utilizza il blocco di protezione dei dati (equivalente chiavi macchina in ASP.NET core 1.0) serializzare token crittografati può essere successivamente deserializzato dal server.

  • EmailTokenProvider e PhoneNumberTokenProvider: questi fornitori sono derivati ​​da TotpSecurityStampBasedTokenProvider, che implementa la Time-based One-time Password Algorithm (TOTP), un protocollo progettato per produrre i token user-friendly e brevi che possono essere inviati con uno SMS o via email.

ASP.NET core 1.0 non offre supporto nativo token di autenticazione (solo convalida token viene supportato: non si possono produrre i propri token). È possibile leggere questi messaggi SO per ulteriori informazioni:

+0

Come utilizzare un 'IUserTokenProvider' per generare token di aggiornamento JWT, che possono essere solo token opachi. Mi chiedo solo se sarebbe una buona idea ... – Darrell

+0

Ecco un buon post sull'argomento https://www.stevejgordon.co.uk/asp-net-core-identity-token-providers – cecilphillip

Problemi correlati