목록Git & CS (29)
쌓고 쌓다
JWT는 서명된 토큰에 중점을 둔다. 즉, JWT 토큰은 내가 쓴게 맞어라는 서명의 용도로 사용하는 것이다. Authorization에 사용 사용자가 성공적인 로그인한 이후에 우린 JWT 토큰을 응답으로 준다. 사용자는 이 토큰을 가지고 허용된 리소스에 접근할 수 있는 것이다. JWT 구조 JWT는 3 파트로 나눠지며 각 파트는 . 으로 구분된다. xxxxx.yyyyyy.zzzzz 구조를 갖는 것이다. 다음은 3 파트를 설명한다. 1. Header 보통 서명에 사용된 알고리즘과 토큰 유형을 갖는다. { "alg": "HS256", "typ": "JWT" } 이 내용 JSON은 Base64Url로 인코딩되어 JWT의 첫번째 부분을 차지한다. 2. Payload Playload는 Claim을 포함한다. 나중..
소셜로그인이든, JWT든 oAuth든 뭘 도입하려니 액세스 토큰과 리프레쉬 토큰에 대한 이해가 필수였다. AccessToken 목적 : 정보를 쓰거나 읽을 때 사용되는 권한 확인을 위해 사용한다. 클라이언트는 처음 인증을 정상적으로 받았을 때 AccessToken과 RefreshToken을 받는데 서버에 요청할때 권한을 인증하기위해 AccessToken을 사용하는 것이다. 이 액세스 토큰이 탈취 당하여 해커가 권한을 마음대로 사용할 수 있으므로 우리는 이 토큰의 유효기간을 짧게 지정한다. RefreshToken 그럼 RefreshToken은 어디다 쓰냐? AccessToken는 유효기간이 짧다. 액세스 토큰을 새로 발급 받기 위해 RefreshToken을 사용하는 것이다. 리프레쉬 토큰은 액세스 토큰보다..
빌드하고 aws ec2에서 java -jar xxx.java 시 ERROR가 뜬다... sudo mysql -u root -p 작성하여 mysql에 접속하여 비밀번호를 변경해주자. 기존의 비밀번호는 영어 소문자로 8자 이상이였는데 특수문자, 대문자, 소문자를 포함하여 비밀번호를 설정해줘야한다. alter user 'root'@'localhost' identified with mysql_native_password by '바꿀비밀번호'; 이제 ERROR 없이 실행이 잘된다!
서비스를 만드는데 API 서버를 외부에서 접속이 가능하게 원해서 AWS EC2를 통해 REST API 서버를 만들어보고싶었다. 인스턴스 생성후 매번 ssh -i "키페어 경로(private key)" hostname@ip 로 접속하기 번거롭다. 다음과 같은 과정을 거쳐 ssh myec2로 접속을 바로 해보자. cd ~/.ssh/ 위의 경로로 이동한다. 그리고 이 경로에 key.pem를 옮기자. chmod 600 lsm-server.pem chmod를 통해 권한을 설정하자. 권한 설정에 대한 이야기는 https://non-stop.tistory.com/83 에 했다! vi config 그리고 config를 생성하여 다음과 같이 작성하자. Host myec2 HostName "public ip" User "..
kakoButton.js를 수정했다. 그러나 자꾸 수정된 kakaoButton.js를 가져오지 않고 이전의 js 파일을 갖는것이다... 문제를 보니 메모리 캐시에서 자꾸 가져오고 있었다. 해당 js 파일을 우클릭하여 "Clear browser cache"를 눌러주자! 메모리 캐시와 디스크 캐시에 관해 공부를 좀 해봐야겠다.
application.properties 내용이 계속 노출된다면 계속 Tracking 되고 있는 것이다. 변경 관리가 추적하고 있는 캐시를 삭제해주면 된다. application.properties의 위치로 이동하고 아래의 명령어를 입력해주자. git rm -r --cached application.properties --cached는 rm의 옵션이다. 차이점을 알아보자. 1. git rm : 원격 저장소와 로컬 저장소에 있는 파일을 삭제한다. 2. git rm --cached : 원격 저장소에 있는 파일을 삭제한다. 로컬 저장소에 있는 파일은 삭제하지 않는다.
깃허브를 사용하며... 옛날에 DB정보를 관리하는 application.properties에 내가 자주 사용하는 비밀번호를 함께 적어놓은것이다. 물론 처음에는 gitignore도 쓸줄몰라서 초기에 application.properties를 커밋 제외를 시키지 않았다. 현재는 gitignore에 등록했으나 이미 예전의 커밋 히스토리에 내 비밀번호 등록과 삭제가 다 남아있다. 히스토리에서 모두 내 비밀번호 텍스트를 지울 수 있다. 물론 이 외에도 다양한 기능을 수행할 수 있다. bfg repo-clear를 사용하자. https://rtyley.github.io/bfg-repo-cleaner/ BFG Repo-Cleaner by rtyley $ bfg --strip-blobs-bigger-than 100M -..
URI (Uniform Resource Identifier) 리소스를 식별하는데 사용되는 문자열이다. 위치, 이름(식별자)으로 우린 리소스를 식별할 수 있다. 예를 들어 친구 이승민한테 연락을하고싶다고 하자. 이름 이승민이나 주소 111-11 1동 1호로 연락을 할 수 있다. 즉, 이름과 위치 어느것을 사용해도 또는 둘다를 사용해도 이승민을 식별할 수 있다. 이것이 URI이다. 이름(식별자), 주소로 식별할 수 있다. URL (Uniform Resource Locator) 마찬가지로 문자열인데 위치(주소)만을 참조한다. 주소 111-11 1동 1호 위치로 친구 이승민을 식별할 수 있다. 이것이 URL이다. 주소(위치)로 식별할 수 있다. => URL은 URI의 부분집합(서브셋)이다. URL은 위치로 식별..