public async Task<IdentityResult> RegisterExternal(RegisterExternalModel model)
        {
            var info = await AuthenticationManager.GetExternalLoginInfoAsync();

            if (info == null) return new IdentityResult("External login info not found.");

            var user = new AppUser { UserName = model.UserName, Email = model.Email ?? "" };

            var result = await UserManager.CreateAsync(user);

            if (!result.Succeeded) return result;

            result = await UserManager.AddLoginAsync(user.Id, info.Login);

            if (!result.Succeeded) return result;

            return await UserManager.AddToRoleAsync(user.Id, DefaultUserRole);
        }
 public async Task<IHttpActionResult> RegisterExternal(RegisterExternalModel model)
 {
     return await RunTask(() => AccountManager.RegisterExternal(model));
 }