我有一个 ASP.NET MVC 项目,它使用 DotNetOpenAuth 作为身份验证提供程序。当用户使用 https://www.google.com/accounts/o8/id 登录时,如何获取用户名(或电子邮件地址) ?
switch (response.Status)
case AuthenticationStatus.Authenticated:
string userOpenId = response.FriendlyIdentifierForDisplay;
break;
(...)
最佳答案
我希望您的 userOpenId
局部变量不是您用于用户名的变量,因为您分配它的属性名称恰当,因此它仅用于显示。您应该仅使用 IAuthenticationResponse.ClaimedIdentifier
作为用户名。
除此之外,您还可以通过发送标记为必填属性的电子邮件的 FetchRequest 来获取 Google 电子邮件地址(您永远无法获取用户名)。这已经被问过很多次了,例如 this one .
关于c# - 如何通过 Google 使用 DotNetOpenAuth 获取用户名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2683725/