坚持使用来自User.Identity的facebook声明和使用



我有这个工作代码,它通过facebook登录并返回等数据

faceBookOptions.Fields.Add("picture");
faceBookOptions.CallbackPath = "/ExternalLoginCallback";
faceBookOptions.Events = new OAuthEvents
{
OnCreatingTicket = (context) =>
{
ClaimsIdentity identity = (ClaimsIdentity)context.Principal.Identity;
string profileImg = context.User.GetProperty("picture").GetProperty("data").GetProperty("url").ToString();
identity.AddClaim(new Claim(JwtClaimTypes.Picture, profileImg));
context.HttpContext.User = context.Principal;
return Task.CompletedTask;
}
};

我现在想在我的剃刀视图中访问此声明:

@User.Identity.Claims

这些声明没有个人资料图片!

我搜索了SO,发现了许多相关的帖子。但他们没有使用.net核心3.1,他们有实际的accountControllers和回调方法。在.net core 3.1中;"幕后";

如有任何帮助,将不胜感激

https://haacked.com/archive/2019/07/16/external-claims/

我发现了这个非常详细的指南,说明为什么这很复杂,以及如何解决

最新更新