
매번 GET/POST 요청할 때 마다 DB를 조회해보기 때문에 하나하나의 요청마다 엄격하게 유저를 체크해볼 수 있습니다.
그 만큼 DB의 부담이 심해진다.
그래서 유저가 많은 사이트들은 조금 더 빠른 Redis 같은 DB를 사용하기도 한다.
대부분 JWT라고 불러서 그냥 JWT라고 하겠습니다. JSON Web Token의 약자
JWT방식을 쓴다면

근데 JWT를 만들 때 여러 정보들을 짧은 문자로 변환을 해서 만드는데 (일명 hashing)
변환할 때 암호를 넣을 수 있어서 암호가 변경되거나 내용이 변경되면 짧은 문자도 변하기 때문에
위조여부를 쉽게 알 수 있어서 걱정은 안해도 된다.
매번 GET/POST 요청할 때 마다 DB를 조회할 필요가 없어서 DB 부담이 적습니다.
그래서 유저가 매우 많거나 마이크로서비스형태로 서버를 많이 운영하는 사이트들이 즐겨쓰는 경향이 있다.
유저의 JWT를 나쁜 사람이 훔쳐가면 그 사람의 로그인을 막거나 할 수 있는 방법이 없다.
그리고 다른 컴퓨터에 저장된 JWT를 소멸시키거나 그럴 수는 없기 때문에 다른 컴퓨터를 로그아웃시키기도 어려울 수 있다.
OAuth는 입장권같은건 아니고 OAuth의 뜻은
어떤 유저의 A 사이트의 사용권한을 B 사이트를 운영하는 내가 잠깐 빌릴 수 있는데 그 과정을 정의하는 규칙같은거다.
그래서 OAuth를 잘 이용하면 유저의 A 사이트 회원정보를 가져와서 내가 운영하는 B 사이트 회원가입시 사용할 수도 있고 이걸 흔히 소셜로그인이라고도 부릅니다.

예를 들어 코딩애플이라는 사이트를 운영하는데 구글로그인을 구현하고 싶으면 어떤 식으로 이루어지냐면
그 정보들로 JWT 만들어서 사용하거나 session 으로 DB에 저장해두거나 마음대로 한 다음
코딩애플 사이트 로그인기능 구현시 사용하면 됩니다.