이번 주 배운 것 :
API, JWT
API에 대한 정의는 AWS(amazon web service)에서 가장 알기 쉽게 정의해 놓고있다
참고 : https://aws.amazon.com/ko/what-is/api/
API란 무엇인가요? - API 초보자를 위한 가이드 - AWS
aws.amazon.com
개인적으로는 그냥 멀티탭에 전원 꼽는 콧구멍 정도로 생각하고 있다
규격에 맞는 콧구멍을 마련해놔야 남이 만들어놓은 제품을 가져다 꼽으니까
자바의 경우에는 인터페이스 클레스로 콧구멍 규격을 만들어놓고 해당 프레임워크 등을 사용하고 싶은 서비스 개발자는 콧구멍을 구현해서 꼽아넣는다
JWT는 수 많은 암호화 방식 중 웹에 주로 쓰이는 방식이다
JSON Web Token의 줄임말인데 JSON은 JavaScripts Object Notation을 뜻한다
Token은 쿠키, 세션, 토큰 등의 정보 데이터 전달 및 저장 방식 중 하나이고
이런 식의 사람이 이해할 수 있는 데이터 양식과 토큰 발급 방식을 기반으로 사용자와 서버간에 일부 중요 데이터 및 로그인 보안 인증 데이터를 해쉬 알고리즘을 쓰거나 그걸 구현해놓은 해쉬함수를 써서 데이터 보안을 유지하는 서비스가 JWT이다
어떤 식으로 사용하는 지는 제일 이해하기 쉬웠던 분의 참고 사이트
참고사이트 : http://www.opennaru.com/opennaru-blog/jwt-json-web-token/
JWT 프로세스
여담) 사용자 인증 방식으로 과거에는 쿠키를 주로 사용했고, 온라인 게임 같은 경우는 로그인 유지를 위해 세션 방식을, 모바일 앱은 토큰 발급 방식 이라고 한다. 최근은 거진 토큰 방식으로 바뀌고 있다고 한다.
암호화 알고리즘이 어떻게 돌아가는 지는 만든 개발자나 기업 비밀이고, 심지어 쉽게 알 수 있으면 그게 암호화가 아니기 때문에 암호화 방식이나 암호화 테이블에 따라 다른 이름이 붙는다
암호화 input / output 은 웹사이트에서 미리 경험해 볼 수 있다
요새는 방통위 웹페이지 출력(...)이나 구글 클라우드 파일 심사를 피하기 위해 커뮤니티의 일반 사용자들에게도 아주 유용하게 사용되고 있다
JWT.IO
JSON Web Tokens are an open, industry standard RFC 7519 method for representing claims securely between two parties.
jwt.io
Base64 Decode and Encode - Online
Decode from Base64 format or encode into it with various advanced options. Our site has an easy to use online tool to convert your data.
www.base64decode.org
느낀 점:
성능이 탁월한 application과 서비스 및 라이브러리를 만들어 주시는 분들을 위해 감사한 마음으로 사용해야겠다
알고리즘 공부를 하면서 이런 외부 서비스 사용에 대해 생각해보는 계기가 생기기도 했는데
결론적으로는 직접 구현을 도전해 보는 것도 좋겠지만 미술로 치면 순수미술 하는 꼴이라 죽고 난 뒤 회자되는 모네가 되기는 싫은 느낌에 가깝다
기업형으로 모두가 달려들어 만드는 것도 아니고, c언어 만든 데니스 리치가 스티브 잡스 보다 일주일 뒤에 사망하셨는데 아는 사람이 거의 없는 눈물나는 상업용 기술 시대에 생산성을 위주로 하는 것은 직종을 불문하고 마찬가지인 것 같다
방망이 깎는 노인도 시대의 흐름을 타야 먹고 살 수 있는게 아닐까
아쉬웠던 점:
알고리즘 너무 어려워요
똑똑해지고 싶어요