1. 질문에 대한 답변 파라미터보단 보통은 쿠키의 Domain 을 설정하여 Third party cookie를 사용합니다 2. JWT 보안에 대한 주관 100% 제 주관임을 감안하고 참고해보시면
1. 질문에 대한 답변 파라미터보단 보통은 쿠키의 Domain 을 설정하여 Third party cookie를 사용합니다 2. JWT 보안에 대한 주관 100% 제 주관임을 감안하고 참고해보시면 도움이 될 수도 있을거같아요 JWT는 사용하기 전 한 번쯤 고민해볼 필요가 있는 기술인거같아요 JWT는 유효성을 통해 인증하는 기술입니다 SECRET KEY를 암호화 해시 함수, 비대칭 암호화 등을 통해 서명하고 이것을 기반으로 유효성을 확인합니다 따라서 SECRET KEY가 유출되지 않는 경우 제 3자가 유효한 토큰을 발급할 수 없습니다 즉 별도의 인증 서버에서 토큰의 유효성을 검증받을 필요가 없게됩니다 경우에 따라 로그인 차단 (블랙리스트 토큰) 을 구현하는 경우 확인할 수 있지만 JWT를 사용하는 이유를 다시 생각해볼 필요가 있습니다 JWT는 필요한 정보를 토큰에 포함하고 유효성 검증을 통해 서버가 별도의 정보를 저장하거나 조회하지 않고 인증하기 위해 사용하는 기술입니다 하지만 인증서버에 토큰 유효성 검증 (블랙리스트 확인 등)을 하는 경우에는 서버에 저장된 정보(블랙리스트 등)을 조회하게됩니다 이때 JWT를 사용할 이유가 없어집니다 보안상으로나 성능이나 속도나 오히려 세션 인증 방식이 더 나아지기 때문이에요 세션도 서버에 정보를 저장하고 조회합니다 예시로든 기능들도 서버에 정보를 저장하고 조회해야만 합니다 JWT는 수많은 알려진 보안 위험과 SECRET KEY가 노출되면 3자가 유효한 토큰을 발급받을 수 있습니다 하지만 세션 인증 방식은 서버가 직접 정보를 관리함으로 비교적 안전합니다 하지만 JWT는 요청 헤더나 파라미터 등을 통해 쉽게 전달될 수 있고 마이크로서비스 개발에 유용하니 사용하겠다고 할 수 있겠죠 세션도 위에서 언급한 Third party cookie를 통해 인가할 수 있습니다. JWT보다 자유롭지는 못하고 복잡할 수 있지만 충분히 구현할 수 있습니다 아래는 위에서 언급함 JWT의 알려진 보안 위험들 입니다 JWT는 base64로 인코딩된 문자열이 각각 header, payload, signature를 . 으로 구분한 형태로 되어있습니다 예로 A.B.C 라는 토큰이 있다고 가정해봅시다 이때 A.B.C와 A.B.C=는 모두 유효합니다 만약 이 A.B.C만 블랙리스트에 등록했다면 이런 예상치 못한 경우가 생길 수도 있습니다 그외로도 생각보다 쉽게 취약점이 발생할 수 있습니다 세션처럼 로그인 정보를 저장하고 조회하는데 보안 취약점에 노출되기 쉬울 수 있습니다 한 번 더 고려해보고 실제 제품에 사용하는게 좋을거같습니다