2
我試圖執行IUserTokenProvider接口在身份系統中註冊並進一步用於身份驗證。 爲什麼令牌認證,因爲我寫Web Api服務器在Asp Net Core使用身份3。 障礙是我不知道如何生成令牌。 IUserTokenProvider有2個方法我需要:1.生成令牌2.驗證令牌。 我在裏面寫什麼?算法是什麼?如何在Identity 3中實現IUserTokenProvider中生成令牌?
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);
}
}
和ConfigureServices啓動類的方法註冊我的供應商:
services.AddIdentity<AppUser, IdentityRole>(options => {
options.User.RequireUniqueEmail = true;
})
.AddEntityFrameworkStores<UserDbContext>()
.AddTokenProvider<UserTokenProvider>("AuthToken")
.AddDefaultTokenProviders();
非常感謝!這變得更清晰。 – user3752919