Как получить адрес электронной почты при использовании Google auth в mvc 5?

Я включил Google Auth только в своем приложении asp.net mvc 5. Я вижу, что когда меня перенаправляют на экран аутентификации Google, я запрашиваю разрешение на просмотр имени пользователя и адреса электронной почты. Затем я возвращаюсь из Google, вхожу в систему и называю своего нового пользователя.

Очевидно, я запросил разрешение на просмотр адреса электронной почты, но по умолчанию он не сохраняется. Как мне сохранить это в таблице пользователей?

Я попытался изменить параметры в startup.auth, но они не относятся к электронной почте. Делая это через oAuth, вы запрашиваете это вручную. Я просто не знаю, где именно я должен спросить адрес электронной почты...

Кроме того, как я могу попросить их изображение учетной записи Google?


person spaceman    schedule 14.10.2013    source источник


Ответы (2)


Вы можете получить его из ClaimIdentity как претензию по электронной почте.

Проверить этот пример

var email = externalIdentity.FindFirstValue(ClaimTypes.Email);

person jd4u    schedule 15.10.2013
comment
stackoverflow.com/questions/17937553/ - person jd4u; 15.10.2013
comment
Метод FindFirstValue не существует. В каком пространстве имен я могу его найти? - person PussInBoots; 04.12.2013
comment
это в моем IdentityConfig.cs в App_Start в моем проекте - person spaceman; 04.12.2013

Полный код в aspnet mvc5

var googleOption=new GoogleAuthenticationOptions()
{
    Provider = new GoogleAuthenticationProvider()
    {
        OnAuthenticated =  (context) =>
        {
            var rawUserObjectFromFacebookAsJson = context.Identity;
            context.Identity.AddClaim(new Claim("urn:google:name", context.Identity.FindFirstValue(ClaimTypes.Name)));
            context.Identity.AddClaim(new Claim("urn:google:email", context.Identity.FindFirstValue(ClaimTypes.Email)));
            return Task.FromResult(0);
        }
     }
};

app.UseGoogleAuthentication(googleOption);
person Yoko2012    schedule 04.12.2013
comment
Спасибо за вашу помощь :) - person Hajjat; 06.11.2015