私は.netコア2.0アプリを持っており、Google、twitter、facebookなどの外部ログインプロバイダを実装しています。ユーザーの表示名とプロフィール画像を取得する必要があり、.net core 2.0でこれを達成する方法のドキュメントが見つかりません。.netコア2.0外部ログイン - 追加のプロフィール情報
私はこの記事のような認証を追加します。ここではhttps://docs.microsoft.com/en-us/aspnet/core/security/authentication/social/
は私のTwitterのログインおよびコールバック関数です...
[HttpGet]
[Route("/api/security/login/type/socialmedia/twitter")]
public IActionResult GetTwitterLogin(string redirect_uri)
{
ClientCallback = redirect_uri;
string redirectUrl = "/api/security/login/type/socialmedia/twittercallback";
var properties = SignInManager.ConfigureExternalAuthenticationProperties("Twitter", redirectUrl);
return Challenge(properties, "Twitter");
}
[HttpGet]
[Route("/api/security/login/type/socialmedia/twittercallback")]
public async Task<HttpResponseMessage> GetTwitterCallBackAsync()
{
var info = await SignInManager.GetExternalLoginInfoAsync();
var result = await SignInManager.ExternalLoginSignInAsync(info.LoginProvider, info.ProviderKey, isPersistent: false, bypassTwoFactor: true);
if (result.Succeeded)
{
}
else
{
}
Response.StatusCode = (int)HttpStatusCode.OK;
return null;
}
あなたはinfo.Principal.Claimsからいくつかのアイテムを取得することができますように見え、ユーザーの表示名やプロフィール画像には何も表示されません。
さまざまなログインプロバイダの表示名またはプロフィール画像を取得するにはどうすればよいですか?