У меня есть код, который аутентифицирует пользователя с помощью OAuth.Вот этот код: ссылка Github
Я использую этот код в методе ConfigureServices()
класса Startup:
public void ConfigureServices(IServiceCollection services)
{
services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)
.AddCookie(options=>
{
options.LoginPath = new PathString("/Account/Login");
options.LogoutPath = new PathString("/Account/Logout");
options.AccessDeniedPath = new PathString("/Account/Forbidden");
})
.AddVkontakte(options => // here
{
options.ApiVersion = "5.95";
options.ClientId = Configuration["VKontakte:ClientId"];
options.ClientSecret = Configuration["VKontakte:ClientSecret"];
});
services.AddDefaultIdentity<User>(options =>
{
options.Password.RequireNonAlphanumeric = false;
options.Password.RequireUppercase = false;
})
.AddEntityFrameworkStores<ApplicationContext>()
.AddDefaultTokenProviders();
services.AddMvc();
}
Но когда я пытаюсь аутентифицироваться, используя его, ничегослучается.Он работает так, как я хочу, только когда я удаляю эти штрихи
...
services.AddDefaultIdentity<User>(options =>
{
options.Password.RequireNonAlphanumeric = false;
options.Password.RequireUppercase = false;
})
.AddEntityFrameworkStores<ApplicationContext>()
.AddDefaultTokenProviders();
В обоих случаях код, стоящий за .AddVkontakte(...)
, работает правильно, я проверил его в сетевом инспекторе браузера.Мой код отправляет запросы поставщику OAuth (vk.com) и успешно получает ответы.Но я не понимаю, почему AddDefaultIdentity<User>(...)
не позволяет .AddVkontakte(...)
аутентифицировать пользователя.
Что вы думаете об этом?