2

Ich versuche zu implementieren IUserTokenProvider Schnittstelle im Identity-System registrieren und zur Authentifizierung weiter verwenden. Warum Token-Authentifizierung, weil ich schreibe Web Api Server in Asp Net Core mit Identität 3. Das Hindernis ist, ich weiß nicht, wie man Token generiert. IUserTokenProvider hat 2 Methoden, die ich brauche: 1. generiert Token 2. validiert Token. was schreibe ich in ihnen? Was ist Algorithmus?Wie Token bei der Implementierung von IUserTokenProvider in Identity 3 generieren?

services.AddIdentity<AppUser, IdentityRole>(options => { 
      options.User.RequireUniqueEmail = true; 
     }) 
      .AddEntityFrameworkStores<UserDbContext>() 
      .AddTokenProvider<UserTokenProvider>("AuthToken") 
      .AddDefaultTokenProviders(); 

Antwort

3

Wie in diesen anderen SO post, IUserTokenProvider hat absolut nichts zu tun mit Token-Authentifizierung:

public class UserTokenProvider : IUserTokenProvider<AppUser> 
{ 
    public Task<bool> CanGenerateTwoFactorTokenAsync(UserManager<AppUser> manager, AppUser user) 
    { 
     throw new NotImplementedException(); 
    } 

    public Task<string> GenerateAsync(string purpose, UserManager<AppUser> manager, AppUser user) 
    { 
     /* here logic to generate token */ 
     string result = "generated token"; 
     return Task.FromResult(result); 
    } 
    public Task<bool> ValidateAsync(string purpose, string token, UserManager<AppUser> manager, AppUser user) 
    { 
     /* validating token */ 
     if (token == "generated token") 
      return Task.FromResult(true); 
     else return Task.FromResult(false); 
    } 
} 

und in ConfigureServices Methode der StartUp-Klasse i meinen Provider registrieren.

Ich würde empfehlen, diese Fragen, um weitere Informationen darüber zu lesen, wie Sie Ihre eigenen Zugriffstoken in ASP.NET-Core ausgeben kann:

+0

vielen dank! das wurde klarer. – user3752919

Verwandte Themen