Дополнительные поля из Facebook и Google аутентификации в ASP.NET Core MVC 2.2 - PullRequest
0 голосов
/ 12 марта 2019

Я разрабатываю веб-приложение с 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");
        });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...