public async Task <string> GetTokenSocialLogin(SocialLoginViewModel model) { var user = userManager.FindByEmailAsync(model.Email).Result; if (user == null) { user = new User { UserName = model.Email, Email = model.Email, FirstName = model.Name }; var result = await userManager.CreateAsync(user); await userManager.AddToRoleAsync(user, "user"); if (!result.Succeeded) { return(null); } } JwtSecurityToken token = GenerateToken(user); return(new JwtSecurityTokenHandler().WriteToken(token)); }
private void SetInitialObjects() { var toolBarItem = new ToolbarItem("Fazer Login", "", () => { }, ToolbarItemOrder.Primary); ToolbarItems.Add(toolBarItem); BindingContext = new SocialLoginViewModel(_client); ViewModel.IsBusy = false; ViewModel.ClearLoggedUser(); }
public async Task <IActionResult> SocialNetworkLogin([FromBody] SocialLoginViewModel model) { if (!ModelState.IsValid) { return(BadRequest("Failed to login with social network")); } var token = await this.accountService.GetTokenSocialLogin(model); if (token == null) { return(BadRequest(new { invalid = "Something went wrong" })); } else { return(Ok(new { token })); } }