C# 如何通过Owin使用Facebook登录?

C# 如何通过Owin使用Facebook登录?,c#,authentication,owin,asp.net-identity,C#,Authentication,Owin,Asp.net Identity,以下是我试图做的: 首先,我创建了一个UserManager var userManager = new UserManager<IdentityUser>(new CustomUserStore()); 然后我试图创造一个身份 var user = new IdentityUser("anyusername"); var identity = userManager.CreateIdentity( user,

以下是我试图做的:

首先,我创建了一个
UserManager

var userManager = new UserManager<IdentityUser>(new CustomUserStore());
然后我试图创造一个身份

var user = new IdentityUser("anyusername");
var identity = userManager.CreateIdentity(
                   user,
                   DefaultAuthenticationTypes.ApplicationCookie);
然后我尝试使用
OwinContext的
iaauthenticationmanager
中的
SignIn
方法

HttpContext.Current.GetOwinContext().Authentication.SignIn(
    new AuthenticationProperties
    {
        IsPersistent = true
    }, identity);
一切正常,不会引发任何异常,但当我尝试使用
Authorize
属性访问一个简单操作时,它不会让我看到页面,就好像我没有登录一样

[Authorize]
public ActionResult Index()
{
    return View();
}
为了了解更多的上下文,我在这里添加了完整的代码:


为什么没有登录?

FacebookAuthenticationProvider的
OnAuthenticationed
发生在不同的上下文中,我无法使用此事件登录

继续

public async Task<ActionResult> ExternalLoginCallback(string returnUrl)
public异步任务ExternalLoginCallback(string returnUrl)
一切正常

public async Task<ActionResult> ExternalLoginCallback(string returnUrl)