WebView(React) + Spring Boot 구조에서 인증을 BFF(Backend for Frontend) 패턴으로 구현했다. 브라우저(WebView)는 토큰을 직접 들고 있지 않고, 백엔드가 OAuth2 + PKCE 흐름을 대신 수행한 뒤 세션 쿠키만 내려준다. IdP는 Auth0 Universal Login을 사용했다. 구현 후 팀에 공유할 기술 문서를 작성했는데, 다 쓰고 나서 검수해보니 빠진 게 세 가지 있었다. /auth/logout이 더 읽기
WebView
FCM 푸시 토큰, 언제 수집해야 하나 — 첫 화면 진입 vs 알림 동의 시점
하이브리드 앱(WebView + Spring Boot API)에 푸시 알림을 붙이면서 팀 안에서 한 번 정리하고 넘어가야 했던 질문이 있다. FCM 토큰은 언제 수집해서 서버에 저장해야 하는가? 구현 자체는 어렵지 않다. 문제는 “언제”다. 앱을 처음 켜자마자 받아둘지, 사용자가 알림에 동의한 시점에 받을지에 따라 서버의 데이터 모델과 개인정보 처리 관점이 달라진다. 결론은 동의 더 읽기
WebView 앱에서 구글 로그인이 막히는 이유 — OAuth 정책과 “최소 변경” 대응 방법
React를 WebView에 띄우고 백엔드는 Spring Boot API로 받는 하이브리드 앱을 만들다 보면, 소셜 로그인 단계에서 한 번은 반드시 부딪히는 문제가 있다. 구글 로그인 화면이 WebView 안에서 아예 열리지 않거나 403 disallowed_useragent 로 막히는 것이다. 처음 이 상황을 만나면 “앱 전체를 네이티브로 다시 짜야 하나?” 하는 생각이 들 수 있는데, 결론부터 더 읽기