Esempio n. 1
0
        public IActionResult RefreshToken([FromBody] RefreshTokenBindingModel model)
        {
            if (!ModelState.IsValid || model == null)
            {
                return(BadRequest(ModelState));
            }

            var response = _userService.RefreshToken(model);

            if (response.OK)
            {
                return(Ok(response.ResponseData));
            }
            return(BadRequest(response.Error));
        }
        void IPOSInterface.RefreshToken()
        {
            var refreshTokenModel = new RefreshTokenBindingModel()
            {
                ClientID     = ClientID,
                ClientSecret = ClientSecret,
                RefreshToken = RefreshToken,
                GrantType    = "refresh_token"
            };
            var accessTokenModel = "https://cloud.lightspeedapp.com/oauth/access_token.php"
                                   .PostJsonAsync(refreshTokenModel)
                                   .ReceiveJson <AccessTokenBindingModel>().Result;

            DateTokenExpiration = DateTime.Now.AddSeconds(accessTokenModel.ExpiresIn);
            AccesssToken        = accessTokenModel.AccessToken;
        }
Esempio n. 3
0
        public ResponseModel RefreshToken(RefreshTokenBindingModel model)
        {
            var principal = _tokenService.GetPrincipalFromExpiredToken(model.token);
            var username  = principal.Identity.Name;

            User user = _db.Query("Users").Where("username", username).First <User>();

            if (user == null || user.refreshToken != model.refreshToken)
            {
                _response.SetError(ReponseErrorType.INVALID_REFRESH_TOKEN);
                return(_response);
            }

            var generatedToken = _tokenService.GenerateAccessToken(principal.Claims, false);
            var jwtToken       = new JwtSecurityTokenHandler().WriteToken(generatedToken);
            var refreshToken   = _tokenService.GenerateRefreshToken();

            refreshTokenField(user.ID, refreshToken);
            _response.SetResponseData(createTokenResponse(jwtToken, refreshToken, generatedToken));

            return(_response);
        }