Как я могу получить имя пользователя, используя DotNetOpenAuth с Google - PullRequest
2 голосов
/ 21 апреля 2010

У меня есть проект ASP.NET MVC, который использует DotNetOpenAuth в качестве поставщика аутентификации.Как получить имя пользователя (или адрес электронной почты), когда пользователь входит в систему, используя https://www.google.com/accounts/o8/id?

switch (response.Status)
    case AuthenticationStatus.Authenticated:
        string userOpenId = response.FriendlyIdentifierForDisplay;
        break;
(...)

1 Ответ

4 голосов
/ 22 апреля 2010

Надеюсь, ваша локальная переменная userOpenId - это не то, что вы используете для имени пользователя, потому что, поскольку свойство, из которого вы ее назначаете, имеет точное имя, оно предназначено только для отображения. Вы должны использовать IAuthenticationResponse.ClaimedIdentifier только для имен пользователей.

Кроме того, вы можете получить адрес электронной почты Google (вы никогда не сможете получить имя пользователя), отправив запрос FetchRequest на электронную почту, помеченную как обязательный атрибут. Об этом уже много раз спрашивали, например этот .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...