public override async Task <SignInStatus> PasswordSignInAsync(string userName, string password, bool isPersistent, bool shouldLockout)
{
try
{
User authUser = await ForumApi.AuthenticateUser(userName, password);
User user = await UserManager.FindByIdAsync(authUser.Id);
if (user == null)
{
var result = await UserManager.CreateAsync(authUser);
if (!result.Succeeded)
{
return(SignInStatus.RequiresVerification);
}
user = authUser;
}
if (authUser.IsBanned)
{
return(SignInStatus.LockedOut);
}
await UserManager.UpdateAsync(user);
await SignInAsync(user, isPersistent, true);
return(SignInStatus.Success);
}
catch
{
return(SignInStatus.Failure);
}
}