전체 글 270

stateless 인증과 jwt, 그리고 위변조에 대한 이야기

항상 개발을 하다보면, 인증 처리 방식에 대한 고민이 많다. 모바일이 보편화 되고, SPA 웹앱으로 개발하는 일도 많다보니, 세션을 사용하는 일은 거의 없다. 대세의 jwt를 쓰면서도, 자유롭게 설정 가능한 payload는 가끔 또 고민의 고민을 낳고 있다. 그렇게 사용하게 된 jwt의 장,단점에 대해 이야기를 해본다. stateless 인증으로 jwt를 채택하여 얻게 되는 장점은 많다.서버사이드 세션관리가 필요없으므로, scale-out하기에 용이하다.단순하고 직관적이면서도, 위변조는 안된다. 하지만 , payload가 노출은 되므로, 신경 쓸 부분이 많다.예를 들어 payload에 중요한 정보를 넣어서는 안되고탈취에는 취약하므로, 방지책도 고려해야 한다. 또한, Issuer나 Audience, Iat..

dev/web 2024.11.08

네이버클라우드 bash_history 해제

네이버 클라우드에서 Server상품으로 ubuntu를 사용중, history가 안되는 현상이 발견( ~/.bash_history 파일이 로그인시 초기화 되는 현상) ~/.profile ~/.bashrc를 뒤져보아도, 특이사항은 안보임 다른 쉘 초기화 스크립트를 찾아보니 /etc/profile이 범인.sudo vi /etc/profile 하단에TMOUT=324000HISTFILESIZE=0HISTSIZE=500 이런 부분이 있었다. 세션 타임아웃과 history 관련 변수를 바꿔버리고 있었으니, 주석 처리하면 끝.

카테고리 없음 2024.10.28

유플투쁠 5월

혜택에 혜택을 더해(+) 5월에도 찾아온 유플투쁠놀이공원, 나들이 갈 땐 유플투쁠이지! 멤버십 혜택 즐기고 유플투쁠 PLAY로 같이 놀자! ⠀ Play 01 찾아라! 유플투쁠 챌린지 참여만 해도 다이소 쿠폰 100% 당첨 일상 속 멤버십 혜택을 찾아라! 혜택만 찾으면 이무진 LIVE 직관 기회까지? ⠀ Play 02 잭팟_이모지? 터져라 잭팟! 이모지 퀴즈 맞히면 에어팟 맥스의 주인공이 내가 될 수도?! 참여자 전원에게 U⁺콕 쿠폰을 드려요! ⠀ 기간: 2024년 5월 7일(화) - 5월 31일(금) 당첨자 발표: 6월 7일(금) 지금 혜택 받고 이벤트 참여하기: https://bit.ly/3QvqWIc

카테고리 없음 2024.05.21

Amazon Linux 2023 Install Docker with Docker Compose

아마존 리눅스를 위한 Docker 설치 스크립트Docker with Docker Compose# Dockersudo yum install -y dockersudo usermod -aG docker ec2-usersudo systemctl enable dockersudo systemctl start dockersudo systemctl start docker.socketdocker info# Docker Compose Pluginsudo mkdir -p /usr/local/lib/docker/cli-plugins/sudo curl -SL "https://github.com/docker/compose/releases/latest/download/docker-compose-linux-$(uname -m)" -..

카테고리 없음 2024.05.01

user sudo 그룹 추가 및 sudo 커맨드 비밀번호 없이 사용하기

1. user  sudo 그룹에 추가usermod -aG sudo [USERNAME] 2. sudo 커맨드 사용시 비밀번호 입력 미사용(sudoers 파일은 readonly 라서, 수정이 불가능한 경우, 파일 속성을 변경하는 방법도 있으나 권장하지 않음)# vi /etc/sudoersvisudo# 맨 하단에 추가 권장 - `%sudo ALL:(ALL) ALL` 보다 밑에 추가해야 값이 override 안됨[USERNAME] ALL=(ALL:ALL) NOPASSWD: ALL

dev/linux 2023.12.04

Docker Compose 설치 (Ubuntu 22.04)

## 선행 도커설치 필요함 ## # 설치할 디렉토리 생성 sudo mkdir -p /usr/local/lib/docker/cli-plugins # 바이너리 다운로드 sudo curl -L https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/lib/docker/cli-plugins/docker-compose # 실행권한 부여 sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose # 심볼릭 링크 생성 sudo ln -s /usr/local/lib/docker/cli-plugins/docker-compos..

dev/linux 2023.12.04

[javascript] for ... in VS Object.keys()

자바스크립트 객체 루프하는 방법의 차이를 알아보자. var par = { prop1: "some val", someMethod: () => "value" }; var obj = Object.create(par); obj.prop2 = "some other val"; // obj prototype은 par console.log(Object.getPrototypeOf(obj) === par); // true // 상속된 prototype의 property까지 탐색 for (const key in obj) { console.log("Key: ", key, "Value: ", obj[key]); } // "Key: ", "prop2", "Value: ", "some other val" // "Key: ", "p..

dev/web 2023.05.09