如何让这适用于标准 Web 表单?
我想要做的是AspNetUserClaims
根据我从 Facebook(或其他服务)返回的声明填充表格。我可以在下面的 OnAuthenticated 代码中看到返回的值,如何将这些声明添加到当前登录用户的上下文中?
目前,OnAuthenticated
火灾发生后,它显然将我返回到内置示例提供的页面 (RegisterExternalLogin.aspx)。但是,声明消失了,登录 Facebook 的上下文也消失了。
在不使用 MVC 的情况下,如何根据当前登录用户的上下文将 Facebook 的声明填充到 AspNetUserClaims 表中?
var fboptions = new FacebookAuthenticationOptions();
fboptions.AppId = "xxxxxxxxxxxxxxxxxxx";
fboptions.AppSecret = "yyyyyyyyyyyyyyyyyyyyyy";
fboptions.Scope.Add("email");
fboptions.Scope.Add("friends_about_me");
fboptions.Scope.Add("friends_photos");
fboptions.Provider = new FacebookAuthenticationProvider()
{
OnAuthenticated = (context) =>
{
foreach (var v in context.User)
{
context.Identity.AddClaim(new System.Security.Claims.Claim(v.Key, v.Value.ToString()));
}
context.Identity.AddClaim(new System.Security.Claims.Claim("FacebookAccessToken", context.AccessToken));
return Task.FromResult(0);
},
};
app.UseFacebookAuthentication(fboptions);