예제 #1
0
        public async Task <ResultServiceModel <GetTokenByRefreshTokenViewModel> > GetAccessToken()
        {
            ResultServiceModel <GetTokenByRefreshTokenViewModel> resultService = new ResultServiceModel <GetTokenByRefreshTokenViewModel>();

            try
            {
                string url = Helper.BaseUrl + "auth/GetTokenByRefreshToken";

                HttpClient client = new HttpClient();

                string refreshToken = "";

                string email = "";

                try
                {
                    refreshToken = SecureStorage.GetAsync("RefreshToken").Result;
                    email        = SecureStorage.GetAsync("Email").Result;
                }
                catch (Exception e)
                {
                    CloseApp();
                }

                GetTokenByRefreshTokenCommand model = new GetTokenByRefreshTokenCommand
                {
                    Email = email,

                    RefreshToken = refreshToken
                };

                HttpContent content = GetHttpContent(model);

                var result = await client.PostAsync(url, content);

                if (result.IsSuccessStatusCode)
                {
                    var json_result = await result.Content.ReadAsStringAsync();

                    GetTokenByRefreshTokenViewModel obj = GetModelFormResult <GetTokenByRefreshTokenViewModel>(json_result);

                    resultService.IsError = false;

                    resultService.Model = obj;

                    return(resultService);
                }
                else
                {
                    client.Dispose();
                    CloseApp();
                }
            }
            catch (Exception e)
            {
                resultService.IsError = true;
            }
            return(resultService);
        }
예제 #2
0
        public async Task <ResultServiceModel <GetTokenByRefreshTokenViewModel> > GetTokenByRefreshToken(string email, string refreshToken)
        {
            string url = Helper.BaseUrl + "auth/GetTokenByRefreshToken";

            GetTokenByRefreshTokenCommand tokenCommand = new GetTokenByRefreshTokenCommand
            {
                Email = email,

                RefreshToken = refreshToken
            };

            return(await Post <GetTokenByRefreshTokenViewModel>(url, tokenCommand));
        }
        public IActionResult GetTokenByRefreshToken([FromBody] GetTokenByRefreshTokenCommand command)
        {
            string refeshToken = command.RefreshToken;
            string email       = command.Email?.ToLower();

            bool isCorrectRefreshToken = _authService.CheckRefreshToken(email, refeshToken);

            if (isCorrectRefreshToken)
            {
                GetToken getToken = new GetToken(_configuration);
                var      token    = getToken.Token;

                GetTokenByRefreshTokenViewModel viewModel = new GetTokenByRefreshTokenViewModel()
                {
                    Token = token
                };

                return(Ok(viewModel));
            }

            return(BadRequest());
        }