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 })));
        }