【问题标题】:How to generate token in implementation of IUserTokenProvider in Identity 3?如何在身份 3 中的 IUserTokenProvider 实现中生成令牌?
【发布时间】:2023-04-06 04:03:01
【问题描述】:

我正在尝试实现 IUserTokenProvider 接口以在身份系统中注册并进一步用于身份验证。 为什么要进行令牌认证,因为我使用 Identity 3Asp Net Core 中编写 Web Api 服务器。 障碍是我不知道如何生成令牌。 IUserTokenProvider 有两种我需要的方法:1. 生成令牌 2. 验证令牌。 我在里面写什么?什么算法?

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);
    }
}

并在 StartUp 类的 ConfigureServices 方法中注册我的提供程序:

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

【问题讨论】:

    标签: asp.net-web-api asp.net-core asp.net-identity access-token asp.net-core-1.0


    【解决方案1】:

    正如其他SO post 中所解释的,IUserTokenProvider 与令牌身份验证完全无关。

    我建议阅读这些其他问题,以获取有关如何在 ASP.NET Core 中发布自己的访问令牌的更多信息:

    【讨论】:

      猜你喜欢
      • 2017-05-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-23
      • 1970-01-01
      • 1970-01-01
      • 2023-03-07
      • 2020-05-25
      相关资源
      最近更新 更多