Tim*_*ond 4 asp.net asp.net-mvc facebook-oauth google-oauth asp.net-identity
我正在使用 ASP.NET MVC 和 Identity 构建一个应用程序,并且我可以使用 Google 登录,但我想显示用户名(来自 Google/Facebook),这样网站就不会显示为“Hi fred123@gmail” .com”,它显示为“Hi Fred”。我知道如何自定义 ApplicationUser,这只是与我不太确定的提供者的交互。
有人可以帮忙吗?
在ExternalLoginCallback方法上您可以获得所有详细信息。
//code omitted for clarity
public async Task<ActionResult> ExternalLoginCallback(string returnUrl)
{
var loginInfo = await AuthenticationManager.GetExternalLoginInfoAsync();
if (loginInfo == null)
{
return RedirectToAction("Login");
}
var identity = AuthenticationManager.GetExternalIdentityAsync(DefaultAuthenticationTypes.ExternalCookie);
var emailClaim = identity.Result.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Email);
var lastNameClaim = identity.Result.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Surname);
var givenNameClaim = identity.Result.Claims.FirstOrDefault(c => c.Type == ClaimTypes.GivenName);
var email = emailClaim.Value;
var firstName = givenNameClaim.Value;
var lastname = lastNameClaim.Value;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1590 次 |
| 最近记录: |