Реализация IUserStore должна содержать IUserTwoFactorStore - PullRequest
0 голосов
/ 28 октября 2018

Я пытаюсь включить TwoFactor после создания пользователя для проверки смс-кода.

 await UserManager.SetTwoFactorEnabledAsync(user.Id, true);

Это мой UserStore (SportUserStore):

 public class SportUserStore<T> : IUserPasswordStore<T>, IUserSecurityStampStore<T>, IUserTwoFactorStore<T, string>,
    IUserRoleStore<T>, IUserLoginStore<T>, IUserPhoneNumberStore<T>, IUserEmailStore<T>, IUserStore<T> where T : FrUser

, и проблема в том, что мне нужно заполнитьэти два метода в UserStore (SportUserStore)

  public Task SetTwoFactorEnabledAsync(T user, bool enabled)
    {
        throw new NotImplementedException();
    }

    public Task<bool> GetTwoFactorEnabledAsync(T user)
    {
        throw new NotImplementedException();
    }

У кого-нибудь есть решение этой проблемы?

Я использую

Microsoft.AspNet.Identity.Core v2.2.2

Microsoft.AspNet.Identity.Owin v2.2.2

1 Ответ

0 голосов
/ 28 октября 2018

Я нашел решение в Identity.EntityFramework

 public virtual Task SetTwoFactorEnabledAsync(TUser user, bool enabled)
{
  this.ThrowIfDisposed();
  if ((object) user == null)
    throw new ArgumentNullException(nameof (user));
  user.TwoFactorEnabled = enabled;
  return (Task) Task.FromResult<int>(0);
}

public virtual Task<bool> GetTwoFactorEnabledAsync(TUser user)
{
  this.ThrowIfDisposed();
  if ((object) user == null)
    throw new ArgumentNullException(nameof (user));
  return Task.FromResult<bool>(user.TwoFactorEnabled);
}
...