我有一个使用DotNetOpenAuth作为身份验证提供程序的ASP.NET MVC项目。当用户使用https://www.google.com/accounts/o8/id?
进行日志记录时,如何获取用户名(或电子邮件地址)?switch (response.Status)
case AuthenticationStatus.Authenticated:
string userOpenId = response.FriendlyIdentifierForDisplay;
break;
(...)
答案 0 :(得分:4)
我希望您的userOpenId
局部变量不是您用于用户名的内容,因为您分配的属性是恰当命名的,它仅用于显示。您只应将IAuthenticationResponse.ClaimedIdentifier
用于用户名。
除此之外,您可以通过为标记为必需属性的电子邮件发送FetchRequest来获取Google电子邮件地址(您永远无法获取用户名)。这已被多次询问,例如this one。