Exemplo n.º 1
0
        public async Task <IActionResult> refreshAccessToken(refreshAccessTokenDto _refreshAccessTokenDto)
        {
            Token tokenService = new Token(_config.GetSection("AppSettings:SecretKey").Value);

            bool isRefreshTokenValid = tokenService.ValidateRefreshToken(_refreshAccessTokenDto.refresh_token, _refreshAccessTokenDto.user_id);

            if (!isRefreshTokenValid)
            {
                return(BadRequest("false"));
            }

            string new_refresh_token_ = new JwtSecurityTokenHandler().WriteToken(tokenService.GenerateRefreshToken(_refreshAccessTokenDto.user_id));
            string new_access_token_  = new JwtSecurityTokenHandler().WriteToken(tokenService.GenerateToken(_refreshAccessTokenDto.user_id));

            UserLog User = await _accountRepo.GetUserFromUserID(_refreshAccessTokenDto.user_id);

            if (User == null)
            {
                return(BadRequest());
            }


            bool   activated         = false;
            string activation_check_ = User.Activated;

            if (activation_check_ == "T")
            {
                activated = true;
            }

            int    user_id_    = User.IduserLog;
            string user_email_ = User.UserEmaill;


            var currentDp = await _photoRepo.GetDisplayPictureFromUserID(User.IduserLog);

            string dp_url_ = "";

            if (currentDp != null)
            {
                dp_url_ = currentDp.Url;
            }


            return(Ok(new
            {
                account_activated = activated,
                user_id = user_id_,
                user_email = user_email_,
                new_refresh_token = new_refresh_token_,
                new_access_token = new_access_token_,
                dp_url = dp_url_
            }));
        }
Exemplo n.º 2
0
        public async Task <IActionResult> RefreshAccessToken([FromBody] refreshAccessTokenDto refreshTokenDto)
        {
            User loggedinUser = (_context.Users.First(e => e.RefreshToken == refreshTokenDto.RefreshToken));

            if (loggedinUser.TokenDate < DateTime.Now.AddHours(1) && loggedinUser.RefreshToken == refreshTokenDto.RefreshToken)
            {
                Authenticator auth = new Authenticator();
                loggedinUser.RefreshToken = auth.GenerateLogintoken();
                loggedinUser.Token        = auth.GenerateLogintoken();
                loggedinUser.TokenDate    = DateTime.Now;
                _context.SaveChanges();
                return(Ok(new { refreshtoken = loggedinUser.RefreshToken, token = loggedinUser.Token, expiredate = ((DateTime)loggedinUser.TokenDate).AddHours(1) }));
            }
            return(BadRequest());
        }