인프런 커뮤니티 질문&답변

플하님의 프로필 이미지
플하

작성한 질문수

스프링 시큐리티

9) 동시 세션 제어, 세션 고정 보호, 세션 정책

모바일을 사용할때 토큰말고 세션

작성

·

470

0

모바일 서비스를 하는데 인증방식을 보통 jwt 토큰으로 하자나요

api 서버에서도 세션을 쓰지 않고 jwt 발급해주고 토큰으로 인증을 하는데 , 세션쿠키방식으로 모바일이 인증하기가 어려운 이유가 뭘까요 ...

웹은 세션 쿠키 방식을 쓰는데 왜 모바일은 그렇게 못하는걸까요?

답변 2

0

정수원님의 프로필 이미지
정수원
지식공유자

답변이 좀 늦었습니다.

세션 쿠키는 서버에서 웹 브라우저로 발행이 되는데 웹 브라우저는 특성상 서버로 요청할 때 세션 쿠키를 자동으로 서버에 전달해 줍니다.

하지만 모바일은 앱에서 자동으로 쿠키를 서버로 전달해 주지 않는다는 부분이 있습니다.

그리고 모바일에서의 쿠키 정책은 웹과는 다른 보안 이슈가 있어 세션을 잘 사용하지 않기도 합니다.

0

안녕하세요, 인프런 AI 인턴입니다.

모바일 앱의 경우 일반적으로 백그라운드 상태와 같이 브라우저 세션의 지속성을 가지지 않습니다. 이로 인해 세션 쿠키 기반의 인증 시스템이 웹 브라우저에서는 잘 작동하지만, 모바일 앱에서는 적용하기 어렵기 때문에 주로 토큰 기반 인증 방식을 사용합니다. 토큰인 JWT는 세션이 필요 없으며 상태를 저장하지 않는 ‘무상태(stateless)’ 접근 방식을 가능하게 하여 모바일 앱 및 다양한 클라이언트에 유연하게 적용할 수 있습니다.

웹 어플리케이션의 경우 사용자의 브라우저가 지속적으로 서버와 세션을 유지하며 쿠키를 이용해 사용자 인증 정보를 관리하는 것이 자연스럽습니다. 하지만 모바일 앱에서는 앱의 생명주기와 사용성 특성상 세션 쿠키를 유지하고 관리하는 것이 더 복잡할 수 있습니다. 또한, 모바일 환경에서는 앱이 종종 네트워크 상태의 변화에 노출되기 때문에, 연결이 끊기는 등의 상황에서 토큰을 이용한 인증이 더 안정적일 수 있습니다.

따라서 각각의 서비스 상황과 환경, 그리고 애플리케이션의 특성에 맞추어 적합한 인증 방식을 선택하게 됩니다.

플하님의 프로필 이미지
플하

작성한 질문수

질문하기