Esempio n. 1
0
        private GetUserRefreshTokenResponse GetRefreshToken(string refreshToken)
        {
            GetUserRefreshTokenResponse response = new GetUserRefreshTokenResponse();
            GetUserRefreshTokenRequest  request  = new GetUserRefreshTokenRequest {
                RefreshToken = refreshToken
            };

            response.UserRefreshToken = _userService.GetTokenRefresh(request).UserRefreshToken;

            return(response);
        }
Esempio n. 2
0
        /// <summary>
        /// RefreshToken guncelle
        /// </summary>
        /// <param name="Request"></param>
        /// <returns></returns>
        public GetUserRefreshTokenResponse GetTokenRefresh(GetUserRefreshTokenRequest Request)
        {
            return(base.ExecuteWithExceptionHandledOperation(() =>
            {
                GetUserRefreshTokenResponse response = new GetUserRefreshTokenResponse();

                UserRefreshToken token = _uof.UserRefreshTokenRepository.GetRefreshTokenByToken(Request.RefreshToken);
                response.UserRefreshToken = _mapper.Map <UserRefreshTokenViewModel>(token);

                return response;
            }));
        }
Esempio n. 3
0
        public RefreshTokenResponse RefreshToken([FromBody] RefreshTokenRequest Request)
        {
            RefreshTokenResponse response = new RefreshTokenResponse();

            int jwtTimeMinute = JWTModel._jwtTimeMinute;

            GetUserRefreshTokenResponse refreshToken = GetRefreshToken(Request.RefreshToken);

            if (refreshToken == null)
            {
                response.IsSucceed  = false;
                response.Message    = "Refresh Token bulunamadı!";
                response.ResultCode = (int)HttpStatusCode.NotFound;

                return(response);
            }

            if (!refreshToken.UserRefreshToken.IsActive)
            {
                response.IsSucceed  = false;
                response.Message    = "Refresh Token kullanım dışı!";
                response.ResultCode = (int)HttpStatusCode.NotFound;

                return(response);
            }

            GetUserRequest request = new GetUserRequest {
                Id = refreshToken.UserRefreshToken.UserId
            };
            UserViewModel user = _userService.Get(request).User;

            // yeni access token ve refresh token uretilir
            TokenModel tokenModel = new TokenModel()
            {
                TenantId   = user.Company.Tenant.TenantId,
                CompanyId  = user.CompanyId,
                UserId     = user.Id,
                UserTypeId = user.UserTypeId,
                Username   = user.Username,
                Email      = user.Email,
                FullName   = user.FullName
            };
            Tuple <string, string> token = JwtManager.CreateToken(tokenModel, jwtTimeMinute);

            response.Token = token.Item1;

            // eski refresh token pasife alinir
            BaseResponse resultUpdate = RevokeTokenRefresh(refreshToken.UserRefreshToken.Id);

            if (resultUpdate == null || !resultUpdate.IsSucceed)
            {
                response.IsSucceed  = false;
                response.Message    = "Refresh Token pasife alınamadı!";
                response.ResultCode = (int)HttpStatusCode.NotFound;

                return(response);
            }

            // yeni uretilen refresh token db e yazilir
            string newRefreshToken = token.Item2;
            //response.RefreshToken = newRefreshToken;
            BaseResponse resultInsert = InsertTokenRefresh(newRefreshToken, refreshToken.UserRefreshToken.UserId);

            if (resultInsert == null || !resultInsert.IsSucceed)
            {
                response.IsSucceed  = false;
                response.Message    = "Refresh Token eklenemedi!";
                response.ResultCode = (int)HttpStatusCode.NotFound;

                return(response);
            }

            return(response);
        }