Я создал новый ASP. net Core 3.0 веб-сайт с индивидуальной аутентификацией пользователя из шаблона проекта. net.
Я храню пользователей, регистрируясь непосредственно на сайте или используя facebook. Вот как выглядит мой Startup.cs
:
public void ConfigureServices(IServiceCollection services)
{
services.Configure<CookiePolicyOptions>(options => {
// This determines user consent for non-essential cookies is needed for a given request.
options.CheckConsentNeeded = context => true;
options.MinimumSameSitePolicy = SameSiteMode.None;
});
services.AddDbContext<ApplicationDbContext>(options => {
options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection"));
});
services.AddAuthentication()
//.AddMicrosoftAccount(microsoftOptions => { })
//.AddGoogle(googleOptions => { })
//.AddTwitter(twitterOptions => { })
.AddFacebook(facebookOptions =>
{
facebookOptions.AppId = "x";
facebookOptions.AppSecret = "y";
});
...
}
Все это отлично работает, и с помощью шаблона по умолчанию я могу зарегистрироваться / войти, как и ожидалось.
Когда я вхожу через Facebook, мне выдаются пять стандартных сведений о претензиях о пользователе:
- идентификатор имени
- адрес электронной почты
- имя
- имя
- фамилия
Что мне нужно сделать, это расширить код, чтобы он сделал больше, чем по умолчанию, и предоставил мне доступ к пользователям:
- номер телефона
- адрес
- почтовый индекс
(очевидно, с согласия пользователей)
Имею читал документацию (https://docs.microsoft.com/en-us/aspnet/core/security/authentication/social/facebook-logins?view=aspnetcore-3.1), но похоже, что больше о настройке поставщика аутентификации, чем о дополнительной информации о претензиях.
Кто-нибудь делал это? Может быть, это невозможно?
Спасибо за любые указатели заранее.