1

Я использую asp.net 5, 6, MVC Идентичность 3 с EF7 и все обновляется, чтобы RC1Идентичность 3 сброса пароля не может войти в

У меня есть следующие в моей конфигурации услуг запуска:

 services.AddCaching(); 
     services.AddSession(); 

    services.AddEntityFramework().AddInMemoryDatabase().AddDbContext<MyContext>(o => o.UseInMemoryDatabase()); 
     services.AddIdentity<User, Role>() 
      .AddEntityFrameworkStores<MyContext, Guid>() 
      .AddDefaultTokenProviders(); 


     services.AddAuthentication(); 

в моем запуске Configure у меня есть:

 app.UseSession(); 
     app.UseIdentity(); 

Я пытаюсь сбросить пароли пользователей с ResetPasswordAsync, но по какой-то странной причине я получил несколько вопросов здесь.

  • Во-первых, когда я пытаюсь сбросить пароль я получаю сообщение об ошибке, что я должен быть в верхнем регистре, даже если у меня есть прописной Строчные и Digit.

  • Во-вторых, если я отключу все требования в services.AddIdentity и сбросить пароль, я получаю успех, но когда я пытаюсь войти с новым паролем, он не работает.

Я действительно не понимаю, что происходит, но есть ли какие-либо известные ошибки?

варианты идентичности

 options.User.RequireUniqueEmail = true; 
     //Password 
     options.Password.RequiredLength = 7; 
     options.Password.RequireUppercase = false; 
     options.Password.RequireLowercase = false; 

     options.SignIn.RequireConfirmedEmail = false; 
     options.AccessDeniedPath = new PathString("/Account/Login"); 
     options.LoginPath = new PathString("/Account/Login"); 
     options.LogoutPath = new PathString("/"); 
     options.AuthenticationScheme = IdentityCookieOptions.ApplicationCookieAuthenticationType = "ApplicationCookie"; 
     options.AutomaticChallenge = true; 

Я воспроизвел этот вопрос на GitHub: https://github.com/lasrol/EmptyDB

ответ

0

Проблема была только большая моя ошибка в моем коде я не прошел по правой переменной к API , Это работает:

 var token = model.Token; 
     var userid = model.UserId; 
     var user = await _userManager.FindByIdAsync(userid); 
     var result = await _userManager.ResetPasswordAsync(user, token, model.Password); 

Это не работает (по obvius причине Совет:. Идентификатор_пользователя: P):

 var token = model.Token; 
     var userid = model.UserId; 
     var user = await _userManager.FindByIdAsync(userid); 
     var result = await _userManager.ResetPasswordAsync(user, token, userid);