Ejemplo n.º 1
0
        public async Task <Result> AuthorizePutAsync <T>(T command, string rout)
        {
            try
            {
                var token = await _currentUser.GetAuthToken();

                var modelAsJson = JsonConvert.SerializeObject(command);

                var requestMessage = new HttpRequestMessage(HttpMethod.Put, rout);

                requestMessage.Headers.Authorization
                    = new AuthenticationHeaderValue("Bearer", token);

                requestMessage.Content = new StringContent(modelAsJson);

                requestMessage.Content.Headers.ContentType
                    = new MediaTypeHeaderValue("application/json");

                var response = await _httpClient.SendAsync(requestMessage);

                return(response.DeserializeResponseMessageStatus().Result);
            }
            catch (Exception)
            {
                return(CommonResults.InternalServerError("Internal Server Error", "سرور در حال بارگذاری می باشد"));
            }
        }
Ejemplo n.º 2
0
        public async Task <Result> RefreshTokenAsync()
        {
            try
            {
                var refreshToken = new RefreshTokenModel()
                {
                    RefreshToken = await _currentUser.GetAuthRefreshToken(),
                    Token        = await _currentUser.GetAuthToken()
                };
                var loginAsJson = JsonConvert.SerializeObject(refreshToken);

                var response = await httpClient.PostAsync("api/v1/OAuth/RefreshToken",
                                                          new StringContent(loginAsJson, Encoding.UTF8, "application/json"));

                var result = JsonConvert.DeserializeObject <AuthenticationResult>(await response.Content.ReadAsStringAsync());

                if (!response.IsSuccessStatusCode)
                {
                    return(Result.Failure(result.EnError, result.FaError));
                }

                await SetAuthentication(result.Token, result.RefreshToken);

                return(Result.Success());
            }
            catch (Exception)
            {
                return(CommonResults.InternalServerError("Internal Server Error", "سرور در حال بارگذاری می باشد"));
            }
        }
Ejemplo n.º 3
0
        public async Task <Result> ForgotPasswordOTPConfirmation(int randomNumber)
        {
            try
            {
                var email = await _currentUser.GetEmail();

                OTPConfirmationModel model = new()
                {
                    RandomNumber = randomNumber,
                    Email        = email
                };

                var usernameAsJson = JsonConvert.SerializeObject(model);

                var response = await httpClient.PostAsync("api/v1/OAuth/ForgotPasswordOTPConfirmation",
                                                          new StringContent(usernameAsJson, Encoding.UTF8, "application/json"));

                await _currentUser.SetEmail(model.Email);

                return(await response.DeserializeResponseMessageStatus());
            }
            catch (Exception)
            {
                return(CommonResults.InternalServerError("Internal Server Error", "سرور در حال بارگذاری می باشد"));
            }
        }
Ejemplo n.º 4
0
        public async Task <Result> AccountConfirmedOTP(int randomNumber)
        {
            try
            {
                var email = await _currentUser.GetEmail();

                OTPConfirmationModel otpModel = new()
                {
                    RandomNumber = randomNumber,
                    Email        = email
                };

                var loginAsJson = JsonConvert.SerializeObject(otpModel);

                var response = await httpClient.PostAsync("api/v1/OAuth/AccountOTPConfirmation",
                                                          new StringContent(loginAsJson, Encoding.UTF8, "application/json"));

                var loginResult = JsonConvert.DeserializeObject <AuthenticationResult>(await response.Content.ReadAsStringAsync());

                if (!response.IsSuccessStatusCode)
                {
                    return(Result.Failure(loginResult.EnError, loginResult.FaError));
                }

                await SetAuthentication(loginResult.Token, loginResult.RefreshToken);

                return(Result.Success());
            }
            catch (Exception)
            {
                return(CommonResults.InternalServerError("Internal Server Error", "سرور در حال بارگذاری می باشد"));
            }
        }
Ejemplo n.º 5
0
        public async Task <Result> AuthorizePostQueryAsync(string rout)
        {
            try
            {
                var token = await _currentUser.GetAuthToken();

                _httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);

                var response = await _httpClient.PostAsync(rout, null);

                return(response.DeserializeResponseMessageStatus().Result);
            }
            catch (Exception)
            {
                return(CommonResults.InternalServerError("Internal Server Error", "سرور در حال بارگذاری می باشد"));
            }
        }
Ejemplo n.º 6
0
        public async Task <Result> ResetPassword(string password)
        {
            try
            {
                var email = await _currentUser.GetEmail();

                ResetPasswordModel model = new() { Email = email, Password = password };

                var usernameAsJson = JsonConvert.SerializeObject(model);

                var response = await httpClient.PostAsync("api/v1/OAuth/ResetPassword",
                                                          new StringContent(usernameAsJson, Encoding.UTF8, "application/json"));

                return(await response.DeserializeResponseMessageStatus());
            }
            catch (Exception)
            {
                return(CommonResults.InternalServerError("Internal Server Error", "سرور در حال بارگذاری می باشد"));
            }
        }
Ejemplo n.º 7
0
        public async Task <Result> CreateUserAsync(RegisterModel registerModel)
        {
            try
            {
                var registerAsJson = JsonConvert.SerializeObject(registerModel);

                var response = await httpClient.PostAsync("api/v1/OAuth/Register",
                                                          new StringContent(registerAsJson, Encoding.UTF8, "application/json"));

                var result = JsonConvert.DeserializeObject <Result>(await response.Content.ReadAsStringAsync());

                if (result.Succeeded)
                {
                    await _currentUser.SetEmail(registerModel.Email);
                }

                return(result);
            }
            catch (Exception ex)
            {
                return(CommonResults.InternalServerError("Internal Server Error", "سرور در حال بارگذاری می باشد"));
            }
        }
Ejemplo n.º 8
0
        public async Task <Result> ForgotPassword(ForgotPasswordModel model)
        {
            try
            {
                var usernameAsJson = JsonConvert.SerializeObject(model);

                var response = await httpClient.PostAsync("api/v1/OAuth/ForgotPassword",
                                                          new StringContent(usernameAsJson, Encoding.UTF8, "application/json"));

                var result = await response.DeserializeResponseMessageStatus();;

                if (result.Succeeded)
                {
                    await _currentUser.SetEmail(model.Email);
                }

                return(result);
            }
            catch (Exception)
            {
                return(CommonResults.InternalServerError("Internal Server Error", "سرور در حال بارگذاری می باشد"));
            }
        }