0
这里就是我想要做:如何使用Owin登录Facebook?
首先我创建一个UserManager
var userManager = new UserManager<IdentityUser>(new CustomUserStore());
由于任何用户是有效的,我创建了一个CustomUserStore
,改变了FindById
方法
public class CustomUserStore : UserStore<IdentityUser>
{
public override Task<IdentityUser> FindByIdAsync(string userId)
{
return Task.Run<IdentityUser>(() =>
{
return new IdentityUser
{
Id = userId,
UserName = userId
};
});
}
}
然后我试图创建一个身份证
var user = new IdentityUser("anyusername");
var identity = userManager.CreateIdentity(
user,
DefaultAuthenticationTypes.ApplicationCookie);
然后我试图使用从IAuthenticationManager
的SignIn
方法OwinContext
HttpContext.Current.GetOwinContext().Authentication.SignIn(
new AuthenticationProperties
{
IsPersistent = true
}, identity);
一切正常,没有抛出任何异常,但是当我尝试Authorize
属性来访问一个简单的动作,它不会让我看到了第页,好像我没有登录
[Authorize]
public ActionResult Index()
{
return View();
}
更多情况下,我已经添加了完整的代码在这里:
为什么不能登录?