0:44 쿠키, 2:02 세션 8:13 토큰을 사인하고 이를 통해 유효한지를 검증한다는 것, 8:23 세션 vs jwt 장단점 8:30 서버는 로그인된 모든 유저의 정보를 이용 세션을 이용하면 특정 유저 쫓아내거나 저장 원하지 않는 곳에서 삭제 가능 서버가 누가 로그인했는지 정하고 세션DB가 있기 때문 이를 위해서는 DB를 유지
@후후훗-i7f3 жыл бұрын
jwt는 서버가 이중 삼중 여러대 일때 세션보다 장점을 갖습니다 보통 큰서비스들은 서버가 한대가 아닌 수십 수백대인데 세션의 경우 로드밸런싱으로 유저가 처음 방문했을때는 1번서버로 방문하여 세션이 남아 있지만 두번째 방문했을때 1번이 아닌 2번으로 붙게되면 세션정보가 없어 인증이 안됩니다 이때 redis 세션통합으로 개발하거나 서버에 상관없는 jwt로 인증을 구현합니다
@진_비3 жыл бұрын
일반적인 상황에서 JWT는 세션에 비해 상대적으로 보안에 취약하기 때문에 로드밸런싱이 들어갈 정도로 큰 서비스들은 웬만하면 세션 방식으로 개발합니다. 물론 개인 프로젝트에서 REST API 쓸 땐 개꿀딱입니다.
@후후훗-i7f3 жыл бұрын
@@진_비 네 맞습니다. 보안에 세션보다 취약하다는 단점이 있죠 세션은 탈취당하면 서버에 세션정보가 남아있기에 강제 로그아웃이나 제어하는 방법이 있습니다만 토큰 발급은 이미 토큰을 발급한뒤고 서버에 아무것도 없기에 제어할 방법이 없어요 기업들에서는 병행해서 많이 쓰는것으로 알고 있습니다. jwt 보안 단점을 보완하기위하여 유투버님께서 알려주신 jwt access token외에 expire 기간이 긴 refresh token을 같이 발급(두개) 하거나 블랙리스트 db를 하나 만들어 탈취당했을때에 위험을 방지하기도 하는데 이러면 statusful 방식으로 세션하고 비슷해져버려서 의미가 사라진다는 단점이 있지만 정보를 덜 저장한다는 의미에서는 쓰이고 있죠 세션에서도 여러 서버로 로드밸런싱 하는경우 세션정보를 잃지 않기 위해 아래와 방법을 쓰고 있습니다. 1. 고정 세션 2. 세션클러스터링 2-1) 세션복제 2-2) 세션 스토리지 결국은 상황에 맞춰쓰는데.. MSA 구축을 추구하는 기업에서는 JWT를 늘려가려는 추세인듯 싶습니다.
@EveryNars3 жыл бұрын
와 역시 구글링해서 형식적인 개념을 읽는 것보다 현직자분의 말 한마디가 확실히 도움이 되네요... 그동안 개인적으로 의문이 좀 많았던 개념이었는데 덕분에 많이 알아갑니다!!!
@cloudzm2 жыл бұрын
JWT가 서버가 클 수록 오히려 장점을 갖는걸로 알고있는데 아닌가요? 세션은 접속자가 많을 수록 세션DB의 부담이 늘어나기 때문에요. JWT는 파싱하고 검증만 하면 되서 부하도 줄고 속도도 더 빠르다고 알고 있습니다
@가라사대-m1x3 жыл бұрын
항상 기본 개념들을 쉽게 설명해주셔서 감사합니다~
@cocoa-yt4gw Жыл бұрын
항상 두루뭉실한 어려운 개념들을 너무 쉽게 설명해주셔서 도움을 많이 받습니다. 😊 엄청 쉽게 잘 설명해주는 것 같아요 👍
@nomadcoders Жыл бұрын
응원 감사합니다😊
@형광등-p5d3 жыл бұрын
니코쎔의 설명 너무 재미있음. 교수님보다 쏙쏙들어옴.. 니코 튜브 나중엔 니코AI로 만들어서 영원히 가죠
@xyz37702 жыл бұрын
헷갈리는 용어들을 정말 쉽게 딱딱 이해할 수 있게 해주셔서 감사합니다 ㅠ_ㅠ 글로만 읽었던 재미없는 정의들이 그림과 영상으로 보니 정리가 잘 되는거 같아요 아직까지는 계속 자막에 눈이 가고 있지만...ㅎ 영상을 보면 볼수록 영어도 쪼금씩 더 들리는거 같아요 좋은 영상 너무나도 감사합니당❤
@qbrlqnrlqoaqoa3 жыл бұрын
형님. 오늘 린님이랑 멍멍이 두마리와 같이 광안리 해변 산책하시는거봤네요. 쑥스러워서 아는체는 못 했지만 반가웠습니다 ㅎㅎㅎ항상 잘 보고 있습니다!!
@don9min Жыл бұрын
이번에 백 프론트 나눠서 처음 프로젝트를 진행하고 있는데 jwt로 인증 관련 기능을 구현하는데 도움이 많이 되었습니다!! 니꼴라스형 사랑해
@mossball10113 жыл бұрын
개념정리가 잘됬어요 ! 항상 좋은정보 감사해요😊😊
@정지안-h5d3 жыл бұрын
용어만 알고 개념은 몰랐는데, 간단히 뙇 설명해주시니까 명쾌하군요.
@john471-n4m3 жыл бұрын
항상 사용하는 QR코드가 JWT로 만들어졌다는 걸 처음 알았어요
@오징어순대-z1k Жыл бұрын
정리가 잘되어있어 많은 도움이 되었습니다.
@mgjeong1254 Жыл бұрын
1년 전 영상인데도 아직까지도 도움이 많이 됩니다. 최고예요! 감사합니다.
@이민찬-w3v3 жыл бұрын
모두 다음주도 화이팅!
@VictorYami3 жыл бұрын
The way you explain things is brilliant!
@chanwoobok76103 жыл бұрын
니꼬~ 3개가 은근 헷갈렸는데 덕분에 간단하게 구분이 되요 고마워요!!.😋
@majortom63013 жыл бұрын
언제나 그렇듯 니코형은 이렇게 헷갈리기 쉬운 개념을 찰진비유로 설명을 참 잘한단 말이야~
@nomadcoders3 жыл бұрын
더 열심히 하겠습니다~!!
@sunyounglee19623 жыл бұрын
이렇게 친절하게 궁금한걸 먼저 알려주시다니,, 감사합니다 !
@Jeenie927 ай бұрын
당근마켓 강의보다 와서 보는데 2년전에 이런 좋은 영상이 있는지 몰랐네요. 질문이 하나 있는데, 토큰은 그저 내용을 담아둔 긴 string 데이터이고 JWT는 정보를 가지고 있는 토큰 이라고 했는데 JWT는 그러면 토큰을 사용하는 방법을 뜻하는 건가요? 결국 JWT도 토큰을 사용하는건데 이 토큰에 필요한 정보를 담아둔 상태인걸 말하는 건가요? 제가 이해한게 맞는지 답변해주시면 감사하겠습니다. 언제나 잘 보고있습니다. 감사합니다
@boribro2 жыл бұрын
넋놓고 봤네요~ 항상 좋은 지식 이해하기쉽게 공유해주셔서 감사합니다~
@nomadcoders2 жыл бұрын
항상 시청해주셔서 감사합니다!
@kimsungju11083 жыл бұрын
사용하면서도 헷갈리던 개념이었는데 깔끔한 설명 정말 감사합니다 !!
@그랑주테 Жыл бұрын
유익한 정보를 항상 쉽게 무료로 설명해 주셔서 감사합니다!!
@쿠키-w4s3 жыл бұрын
jwt를 적용할때 여러가지 고려사항을 알려주실수 있나요? 브라우저에 jwt를 저장하는 장소라던지, 로그인 유지를 위해서 어떤 방식을 적용해야하는지, 보안 고려사항 등이요!!
병원 관리자 홈페이지를 만든다고 가정했을 때 결국 세션이 더 나은 걸까요 JWT가 더 나은 걸까요?ㅠㅠ규모는 현재는 작습니다만 크게 성장하는 걸 목표로 하고 있습니다
@aulorl3 жыл бұрын
좋은 정보 감사합니다! Thank for your service ,Nico
@shawon7912 жыл бұрын
Great explanation, you cleared out many of my confusions
@벤티스트3 жыл бұрын
비전공자도 이해하기 가장 쉬운 설명.. 감사합니다😊
@Son-lm5mf2 жыл бұрын
니꼬샘 최고!
@neverbetter77672 жыл бұрын
진짜 유용한 정리였습니다!😁
@June-c2q3 жыл бұрын
As a coding hobbiest, I loooooove these kind of contents. Love you
@린코코몽3 жыл бұрын
질문입니다. 제가 아는 범위 내에서는 세션은 서버의 저장공간입니다. 해당 영상에서 소개된 내용은 그저 이 저장공간에 계정 정보를 넣어서 관리하는 것인가요? 아니면 아예 기존에 알던 세션과는 무관한 내용일까요? 또한 이 서버의 저장공간인 세션에 대한 DB는 따로 관리가 가능한 건가요?
@김보람-o3g1t6 ай бұрын
great explanation!
@ci7alex12 жыл бұрын
Brilliant explanation. Perfectly aided by the graphics
@JayJoowon Жыл бұрын
정말 설명 최고!!!
@dongwookim74773 жыл бұрын
감사합니다! 정말 쉽게 설명해주시네요
@Herm-d4s2 ай бұрын
쿠키가 넘나 맛있게 보이는 거시다 ..
@이순우-o2x3 жыл бұрын
오늘도 감사해요 니코샘
@durumi03182 жыл бұрын
최고입니다!
@yoonsookim68263 жыл бұрын
헷갈리는 개념 잘 설명해주셔서 감사합니다!!~ 역시 니코!!~ 토큰쪽 관련해서 언제 기회되실 때 oauth2.0 도 같이 설명부탁드려요~ 감사합니다!!~
@박태현-m7x3 жыл бұрын
질문입니다. 대용량 데이터분석, 머신러닝을 위한 노트북은 뭐가 중요한가요? cpu, gpu, 휴대성 중에 어떤 것을 주로 봐야할까요? legion 7(i7, 3070 tgp140W 무거움) zephyrus m16(i9 3060 tgp95W) 중에 고민중입니다. 최근 가상환경으로 인해 gpu의 중요성이 줄어든것인지 여쭤보고 싶습니다.
@Lee렐루2 жыл бұрын
너무 재미있어요!!!
@소중한-u5o11 ай бұрын
이번에 jwt로 로그인 인증 구현할일이 생겼는데 개념정리가 너무 잘되었습니당!
@윱스일상박스 Жыл бұрын
지금도 엄청 쉽게 설명해주셔서 넘나 감사합니다! 하지만 오늘은....조금 어렵네요 세션...토큰...우우규ㅠㅠㅠ
@정유택-t1t3 жыл бұрын
JWT에서 Access Token과 Refresh Token을 이용하는 방법 vs Session을 이용하는 방법이라면 어떤 것을 선택하실건가요?
@way9543 жыл бұрын
Thank you ~. This video very useful!!
@dingsu3 жыл бұрын
며칠 전에 JWT 구현하는 토이 프로젝트 했었는데 ㅎㅎㅎ 감사합니다
@자몽-p8e2 жыл бұрын
프로그래밍 민수야 고맙다!! 이해가 쏙쏙된다.
@user-zg6lh6gk4t3 жыл бұрын
이 영상을 보니 초코칩 쿠키가 먹고 싶군요...
@songmingi11022 жыл бұрын
진짜 최고에요
@allenkim47763 жыл бұрын
Thank you so much~ kimchi guy~ Now I'm learning nodejs~
@jeonggod3 жыл бұрын
Jwt에서 Refresh token을 사용하여 access token을 자동으로 갱신시켜준다면 서버에서도 db를 사용해야하는 것 아닌가요? 궁금합니다!
@snvlqkq3 жыл бұрын
서버가 쿠키를 생성하고 그 안에 세션 id같은걸 넣어서 브라우저에 전달하는 건가요 아니면 쿠키는 원래 부라우저에 있고 그 안에 세션id를 집어넣는 건가요
@ingenieriamiguens25683 жыл бұрын
Nico, sos un genio. Abrazo latinoamericano, 친구!
@김남영-n4q2 жыл бұрын
진짜 설명 최고네요 감사합니다!!
@jsk71632 жыл бұрын
정말 감사드립니다!~
@장현수-s1p3 жыл бұрын
나도 이렇게 똑똑해지고 싶다
@shinhj722 жыл бұрын
질문이 있습니다. JWT는 사이즈가 크기 때문에 쿠키에 저장되는 것이 아니라고 하셨는데 그러면 브라우저가 서버에 request를 보낼 때 어디에 저장하고 있다가 서버에 보내는 건가요? 제가 알기로 쿠키 저장소는 브라우저에서 안전하게 보관하는 저장소이지만 다른 곳은 그렇지 않기 때문에 JWT는 위험하다는 의견도 많던데요.
@dhammi792 жыл бұрын
very well said thank you!
@seongjookim9022 Жыл бұрын
덕분에 확실하게 이해했습니다 ㅎㅎㅎ
@oooo30463 жыл бұрын
JWT는 원격으로 로그아웃을 할 수 없다고 하셨는데 로그아웃할 장치의 토큰을 무효한 것으로 판단하는 방식으로 왜 불가능할까요?
@meonton94063 жыл бұрын
제 생각에는 세션같은경우, 세션DB를 통해 해당 유저를 Find하여 강제 세션아웃 시킬수 있기때문에 원격이 된다고 하신것 같습니다. JWT의 경우에는 DB나 서버의 자원에서 갖고있는 부분이 아니기때문에, 일반적으로 Decode하여 유저인지 인증하는 용도로 쓰입니다. JWT를 Expire(만료) 시키기 위해서는 Client에서 요청을 보내야만 JWT를 만료 할 수 있습니다. 순수하게 JWT 자체로 계정이 3명이니, 원격 로그아웃을 해주세요. 라는 가정을 하신다면, JWT를 발급받은 ID들이 DB혹은 서버의 메모리에 저장되어야 합니다. 그렇게 될 경우 JWT의 장점인 서버 자원을 사용하지 않는다에 위배됩니다. 해당 방식은 세션과 동일해 지는 부분이구요. JWT자체에 관한 정보를 Server에선 갖고 있지 않으므로, 요청이 오기전까지 Expire할 수 없습니다. 만약 원격 Expire를 하신다면, 요청이 올때까지 기다렸다가 해당 JWT를 Decode한 이후, UserID를 확인하여 Expire하는 Logic을 구현하시면 될 것 같습니다. 흔치 않는 경우이기때문에 해당 설명에서는 원격 로그아웃이 불가능하다 라고 하시는것 같습니다.
@oooo30463 жыл бұрын
@@meonton9406 이해했어요 감사합니다!
@im_baka3 жыл бұрын
@@meonton9406 세상 능력자
@진_비3 жыл бұрын
세션 같은 경우 A = User1 이런 식으로 매칭해서 서버에 저장하고 있기 때문에 세션 값으로 A를 보내주면 User1 이라고 인식하는 방식입니다. 그래서 서버가 다르면 인식하지 못 하는 거고요. 로그아웃은 목록에서 A라는 값만 지우면 됩니다. JWT 같은 경우는 값 자체를 복호화해서 정보를 알아내는 방식입니다. 예를 들어 JWT가 User1_AA_Gildong_AA_11/1 라고 했을 때 이 값 자체를 복호화 해서 User1, Gildong, 11/1 이라는 정보를 얻어 유저를 구분하는 방식입니다. 토큰 안에는 만료일 정보도 같이 들어있는데 이 만료일이 지나면 토큰은 사용할 수 없습니다. 로그아웃이라는 개념 자체가 없고 토큰 만료일을 30분, 2시간 등으로 짧게 설정하고 자주 자주 발급하는 방식으로 사용하거나 로그아웃 요청이 들어오면 블랙리스트를 만들어서 관리하는 식으로 사용합니다. +) 윗 분 말씀에 첨언하자면 JWT는 서버에서 임의로 만료시킬 수 없습니다.
@보라보라-h5n Жыл бұрын
최고..!❤
@대전_1반_김성현6 ай бұрын
미쳤다.. 감사합니다 !!
@benji93253 жыл бұрын
Dude we need a tutorial for implementation of this topic using React node graphQL(maybe) please!
@아투나투Ай бұрын
크으 진짜 알차다
@임두부-q3i3 жыл бұрын
궁금했던 내용입니다. 감사랍니다
@nomadcoders3 жыл бұрын
관심가져주셔서 감사합니다~!
@hawaii35353 жыл бұрын
이해쏙쏙! 감사합니다.
@Sinnermane3 жыл бұрын
감사합니다 니코센세
@alejandrocook59393 жыл бұрын
Excelente explanación. Thanks
@baedori3233 жыл бұрын
QR코드에 대한 궁금증이 풀렸다..! 😆
@김만재-e2l2 жыл бұрын
니꼬 사장님 나이스샷~
@이민찬-w3v3 жыл бұрын
세션DB랑 DB는 서로 역할이 다른건가요? 누군가 간단히 알려주실 수 있나요?
@ttiyongti59453 жыл бұрын
db는 말그대로 그냥 아무거나 데이터를 저장하는 장소입니다. 세션 db라고 한다면 세션값만 저장하는거겟죠. 여기서 db를 따로 나눈다고 한다면, 그 이유는 db 하나에 모든 정보가 들어가면 db에 정보를 읽고 쓸때 부하가 너무많이들어가니까 나눠놓은것일뿐입니다. 그래서 딱히 나누고 안나누고는 개발자 자유이고 기기성능이나 서버사용량 등에 따라 다른겁니다. 다만 세션의경우 모든 요청에 모조리 포함되니까 그만큼 db를 읽는양이 압도적이라서 db를 따로 빼놓는 경우가 대부분일뿐 꼭 나눠야하는건아니에요
@이민찬-w3v3 жыл бұрын
@@ttiyongti5945 아하! 너무 이해가 잘되네요~ 저는 세션DB라는 것이 따로 존재하나 싶었는데 그냥 지칭하는 말이었군요. 감사합니다:)
Brooow im literary making authentication for my project at the moment
@남경찬_43523 жыл бұрын
너무 감사합니다.
@mfion13 жыл бұрын
Learnt something new
@heyksw02082 жыл бұрын
와 설명 진짜 지린다..
@namedmaster18422 жыл бұрын
08:24 장담점 비교
@Lavuri Жыл бұрын
👍🏻👍🏻👍🏻👍🏻👍🏻👍🏻👍🏻👍🏻
@BLUEWHELL2 жыл бұрын
Internet session is a connection between a client and a server computer. Cookie is burned session. Token is Authentication seesion without the client broswer. 생각합니다.
@sandals7226 Жыл бұрын
클라이언트에서 jwt 토큰을 서버로 request 보낼때 쿠키 방식을 사용하나요?
@Jiho043 жыл бұрын
이게 있었다니 대박
@아이니아3 жыл бұрын
와, 저에게 정말 필요한 정보였네요 이제까지 대충 그러려니 하고 했었는데.. Auth 에서는 정말 기본적이면서 중요하군요
암호화된 도메인 쿠키를 이용하면 같은 도메인에 속한 여러 사이트에서 사용자 인증을 구현할수 있습니다. 서버 세션을 쓰지않고 클라이언트 브라우저가 매번 자동으로 보내오는 암호화된 쿠키를 읽어 서버가 해독 유효성 검사 및 사용자 정보 추출을 해서 씁니다. 쿠키인데 방식은 jwt 비스무레하고 뭐 그렇습니다. 요즘도 그런가 모르겠는데 포털사이트들이 이런식이었습니다.