public async Task <IActionResult> ExternalLogin(LoginEmailDto loginEmailDto) { var userToLogin = await _authService.ExternalLogin(loginEmailDto); if (!userToLogin.Success) { return(Ok(userToLogin)); } var result = await _authService.CreateToken(userToLogin.Data).ConfigureAwait(true); return(Ok(result)); }
public async Task <IServiceDataResult <ApplicationUsers> > ExternalLogin(LoginEmailDto loginEmail) { var user = await new RestClient <ApplicationUsers, ApplicationUsers>($"{ UserAPI.USEREXISTS}?email={loginEmail.Email}").GetAsync(); if (user != null) { if (await new RestClient <ApplicationUsers, bool>(UserAPI.EMAILCONFIRMED).PostAsync(user)) { user = await new RestClient <ApplicationUsers, ApplicationUsers>($"{ UserAPI.LOGINPROVIDER}" + $"?loginProvider={loginEmail.LoginProvider}&providerKey={loginEmail.ProviderKey}").GetAsync(); if (user != null) { return(new SuccessDataResult <ApplicationUsers>(user)); } return(new ErrorDataResult <ApplicationUsers>(GlobalErrors.NotFound, "User does not exists..!")); } else { return(new ErrorDataResult <ApplicationUsers>(user, GlobalErrors.EmailIsNotVerified, "User's email is not verified..!")); } } return(new ErrorDataResult <ApplicationUsers>(GlobalErrors.NotFound, "User does not exists..!")); }