Я разрабатываю веб-приложение с ASP.NET Core MVC 2.2 и хочу получить дополнительную информацию от пользователя через Facebook и google authentication / login.
На самом деле аутентификация через facebook и google работает, но просто дайте мне некоторую информацию об имени пользователя. Мне нужна дата рождения и изображение профиля пользователя. Как я могу это сделать?
Когда я пытаюсь выполнить аутентификацию на Facebook, я буду перенаправлен на следующий URL: https://www.facebook.com/v3.1/dialog/oauth?client_id=2255814967787552&scope=email,https%3A%2F%2Fwww.facebook.com%2Fdialog%2Foauth&response_type=code&redirect_uri=https%3A%2F%2Flocalhost%3A44381%2Fsignin-facebook&state=CfDJ8D6zBetw7iFAjlSqmbgb4YDXGCqkP9eC0ywTHzwmmZ_KjSgwprhdP-TuZpZheevTP90ZlwtBXWr1DkVvsOJe842onEdxPxNMFuEz0yg8HtFZSvQwfFOT4E46EHkM7s0xWPh_VwFy6BQVvtDL7BrtBtTssvAuu7zdCcX7kgLAb6YWuAQUUSx6ocbcRwQVKd-Gg9bwBVmtyVQfFXVLJAMkbTEMsR4ajeibSM558iggvPIzct-SYu-hOu474PFDMmG9iB9JNkSytsXSRltjSrIT0clmbrahqQbmLL8Pa-IM33Gl
Когда я пытаюсь выполнить аутентификацию Google, она работает, но в основном субъекте информации для входа в систему отсутствует тип заявки.
И я не знаю, как получить изображение профиля пользователя ..
Мой стартап:
services.AddAuthentication()
.AddFacebook(facebookOptions =>
{
facebookOptions.AppId = Configuration["Authentication:Facebook:AppId"];
facebookOptions.AppSecret = Configuration["Authentication:Facebook:AppSecret"];
facebookOptions.Scope.Add("https://www.facebook.com/dialog/oauth");
facebookOptions.Fields.Add(ClaimTypes.GivenName);
facebookOptions.Fields.Add(ClaimTypes.Surname);
facebookOptions.Fields.Add(ClaimTypes.DateOfBirth);
facebookOptions.ClaimActions.MapJsonKey(ClaimTypes.GivenName, "givenname");
facebookOptions.ClaimActions.MapJsonKey(ClaimTypes.Surname, "surname");
facebookOptions.ClaimActions.MapJsonKey(ClaimTypes.DateOfBirth, "dateofbirth");
})
.AddGoogle(googleOptions =>
{
googleOptions.ClientId = Configuration["Authentication:Google:ClientId"];
googleOptions.ClientSecret = Configuration["Authentication:Google:ClientSecret"];
googleOptions.Scope.Add("https://www.googleapis.com/auth/plus.login");
googleOptions.ClaimActions.MapJsonKey(ClaimTypes.GivenName, "givenname");
googleOptions.ClaimActions.MapJsonKey(ClaimTypes.Surname, "surname");
googleOptions.ClaimActions.MapJsonKey(ClaimTypes.DateOfBirth, "dateofbirth");
});