자동 로그인 시도 여부 구분 방법

문의 사항에 따라 필요한 정보를 먼저 입력하시면 더 빠르게 대응해 드릴 수 있습니다.

  • 개발 과정에서 문제가 있을 경우
    • 앱 아이디(app ID): 568410
    • 호스팅 사: 자체
    • 서비스 URL : https://posty.kr
    • 오류 내용 :

카카오싱크를 구현했고, 마지막으로 자동 로그인까지 구현해서 어느 정도는 동작합니다. 다만 생각과 다른 부분이 있어서 가이드를 주셨으면 합니다.

카카오 채널로 상품 상세나 주문 내역 페이지 링크를 보냈고, 눌렀을 때 자동으로 로그인 시키려고 시도했는데, 어떤 경우에는 동작하는데 어떤 경우에는 무한 redirect가 일어납니다.

상품 상세에 들어갔을 때 자동 로그인 시도를 해야 할지 구분해야 하는데. user-agent(KAKAOTALK)을 구분하는 것 외에도 이 페이지가 카톡 내에서 처음 접근한 페이지인 경우만 자동 로그인을 시도하려고 했습니다. 이미 한참 이용 중에 상품 상세에 들어갔을 때 자동 로그인을 시도할 필요가 없기도 하고, 자동 로그인(oauth/authorize)에 실패해서 다시 그 페이지로 돌아왔을 때 자동 로그인을 다시 시도하지 않아야 할 것 같습니다.

처음 접근한 것인지 여부는 cookie에 기록했습니다. 근데 문제가 상태에서 서버 로그를 보면 쿠키가 저장되지 않는 것인지 계속 새로 발급되는 듯한 느낌을 받았습니다.

질문은

  1. 혹시 카톡 내에서 웹 접근시 쿠키가 잘 저장되지 않는 경우가 있는지
  2. 처음 웹 페이지에서만 자동 로그인 API를 호출하려는 방향 자체에 문제가 있고, 다른 방향으로 처리하는게 맞는지

입니다. (현재는 자동 로그인 시도를 로그인 페이지에 접근할때로 한정해둔 상태입니다)

[질문2]
처음 웹 페이지에서만 자동 로그인 API를 호출하려는 방향 자체에 문제가 있고, 다른 방향으로 처리하는게 맞는지

[답변]

자동 로그인 적용 시 고려가 필요한 내용이고, 올바른 접근이라고 생각해요.

[질문1]
혹시 카톡 내에서 웹 접근시 쿠키가 잘 저장되지 않는 경우가 있는지

[답변]

정확한 원인 파악을 위해서 몇가지 확인 부탁드릴게요.

  • 자동 로그인 요청 시점에 쿠키를 발급하고 (자동 로그인 성공/실패 유무와 관련 없이),
    이 후 서버(동일한 도메인)로 들어오는 요청 헤더에 발급했던 쿠키가 없는 경우가 있는 것인가요?

  • 현상이 특정 웹뷰에서 재현이 되는 것일까요?

상황 재현이 잘 안 되서 쿠키 상태가 정확히 어떤지 확인은 어려웠습니다. (디버깅이 쉽지 않음)
다만 사용자에게 발생한 경우를 봤을 때(주문 정보를 짧은 시간에 계속 요청 = 무한 redirect), 세션용 쿠키가 계속 바뀌는 것으로 쿠키에 문제가 있는 것으로 짐작했을 뿐입니다. 일단 올바른 방향을 확인하면 다시 작업을 해봐야 할 것 같습니다.

질문2가 올바른 방향이라고 하면 제가 처음 접근했던대로 쿠키를 쓰는 것이 일반적일까요, 아니면 다른 방법이 있을까요?
(referer 같은 것도 시도해봤습니다)

쿠키를 사용하는 것이 일반적일 것 같아요.
추가로 말씀하신 레퍼러 체크도 해당 로직을 보완하는 로직이 될 수 있을 것 같아요.

쿠키 이슈는 발생한 시간 대 또는 유저 정보를 개인 메시지로 알려주시면 조금 더 자세히 살펴보도록 하겠습니다.