2

私はIUserTokenProviderインターフェイスをIdentityシステムに登録し、さらに認証に使用するように実装しようとしています。 なぜ私はウェブApiサーバのASP Webコアを使用してID 3を書くので、トークン認証。 障害は、私はトークンを生成する方法を知らないです。 IUserTokenProviderには2つの方法があります。1.トークンを生成します。2.トークンを検証します。 私はそれらの中に何を書いていますか?アルゴリズムは何ですか?アイデンティティ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(); 

答えて

3

としては、この他SO postで説明し、IUserTokenProviderは、認証トークンとは全く関係ありません。

私はあなたがASP.NETコアで独自のアクセストークンを発行する方法の詳細については、これらの他の質問を読んでお勧めします:

+0

ありがとう!それはより明確になった。 – user3752919

関連する問題