로그인(appLogin) 관련 문의

이 글의 성격은 무엇인가요?

질문 / 문제 해결

내용을 설명해주세요

개발 환경: Webview
SDK: @apps-in-toss/web-framework v2.0.5

안녕하세요 로그인 인트로 페이지 분기처리 관련 문의드리려고 합니다.

로그인(appLgin) 호출 시 연동되지 않은 사용자의 경우(처음 사용하는 사용자)에는 약관 동의 화면이 나오고 동의한 이후 인가 코드가 응답으로 오고, 이미 연동한 유저는 인가 코드가 바로 응답되는 것으로 확인됩니다.

이전에 getIsTossLoginIntegratedService 함수를 통해 연동 여부를 확인하고 연동하지 않은 사용자의 경우에만 로그인 인트로 페이지를 보여주고 해당 페이지에서 로그인 진행되도록 하고 이미 연동된 사용자라면 인트로 페이지를 보여주지 않고 자동으로 로그인하도록 구현하려고 하였으나 이전 답변에서 getIsTossLoginIntegratedService 응답값이 캐싱되어 있다고 전달 받았었습니다.

getIsTossLoginIntegratedService를 통해 분기 처리 사용이 힘들 것 같고 자체 서버를 통해 구현해야될 것 같다고 답변 주셨었는데 로그인 이전에 사용자를 식별할 수 있는 다른 방법이 있을까요?
자체 서버를 구현하더라도 로그인 전에 사용자 식별값을 통해 연동 여부를 체크하고 로그인 진행해야될 것 같아서 문의드립니다.

지금 getIsTossLoginIntegratedService 가 캐싱이 있다고 하니 적절하지 못한거 같고..

직접 구현하는것은 로그인 사용자에게 자체적으로 AT,RT를 부여하고 이걸로 체크해야 하는데..

1.httpOnly 쿠키를 이용하는 방법 (즉, AT,RT 기반 자동 로그인)

  • httpOnly는 iOS ITP 제약대상이 아니라서 origin이 자사 도메인이면 서버발행 쿠키는 유효함

2.네이티브 저장소를 이용하는 방법 (인트로 보여줄지 여부를 저장, 로그인완료한 사람에게 부여)

  • iOS ITP때문에 로컬 스토리지 같은걸로 저장하면 안되고 네이티브 저장소로 저장
  • (IOS가 7일 상호작용 없으면 세션/스토리지/JS 쿠키 같은거 임의로 삭제)

정석은 1번인데(로그인 유지까지 원하신다면), 쉬운건 2번이요.
다만, 2번의 경우에도 안보여주는것이지 그 뒷단의 서비스들은 로그인 체크가 준비되어야 합니다.