public async Task <IActionResult> ExternalGoogleLogin([FromBody] RegisterExternalBindingModel data, [FromRoute] string provider) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var verifiedAccessToken = await VerifyExternalAccessToken(data.ExternalAccessToken, "provider"); if (!verifiedAccessToken) { return(BadRequest("Invalid Provider or External Access Token")); } var findAccount = await _userManager.FindByEmailAsync(data.Email); User user = await GetOrCreateUser(data); var token = _accountHelper.GenerateToken(user); return(Ok(MessageHelper.Success <object>(new { token }))); }