feat(sso): 인앱 브라우저 SSO 토큰 릴레이 — 카톡 WebView 쿠키 미공유 해결

카카오톡 인앱 WebView는 서브도메인 간 쿠키를 공유하지 않아
tkds에서 로그인 후 tkfb로 리다이렉트 시 인증이 풀리는 문제.

- sso-relay.js: URL hash의 _sso= 토큰을 로컬 쿠키+localStorage로 설정
- gateway dashboard: 로그인 후 redirect URL에 #_sso=<token> 추가
- 전 서비스 HTML: core JS 직전에 sso-relay.js 로드 (81개 파일)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Hyungi Ahn
2026-04-01 15:44:02 +09:00
parent de6d918d42
commit 0de9d5bb48
90 changed files with 398 additions and 3 deletions

View File

@@ -277,6 +277,7 @@
</div>
</div>
<script src="/js/sso-relay.js?v=20260401"></script>
<script src="/static/js/tkfb-core.js?v=2026040105"></script>
<script src="/js/api-base.js?v=2026031401"></script>
<script type="module" src="/js/work-analysis.js?v=2026031401"></script>
@@ -2871,4 +2872,4 @@
</script>
<script>initAuth();</script>
</body>
</html>
</html>

View File

@@ -163,6 +163,7 @@
</div>
</div>
<script src="/js/sso-relay.js?v=20260401"></script>
<script src="/static/js/tkfb-core.js?v=2026040105"></script>
<script src="/js/api-base.js?v=2026031701"></script>
<script src="/js/daily-status.js?v=2026033001"></script>

View File

@@ -193,6 +193,7 @@
</div>
</div>
<script src="/js/sso-relay.js?v=20260401"></script>
<script src="/static/js/tkfb-core.js?v=2026040105"></script>
<script src="/js/meeting-detail.js?v=2026031701"></script>
</body>

View File

@@ -80,6 +80,7 @@
</div>
</div>
<script src="/js/sso-relay.js?v=20260401"></script>
<script src="/static/js/tkfb-core.js?v=2026040105"></script>
<script src="/js/meetings.js?v=2026031701"></script>
</body>

View File

@@ -114,6 +114,7 @@
</div>
</div>
<script src="/js/sso-relay.js?v=20260401"></script>
<script src="/static/js/tkfb-core.js?v=2026040105"></script>
<script src="/js/api-base.js?v=2026031701"></script>
<script src="/js/proxy-input.js?v=2026033202"></script>

View File

@@ -190,6 +190,7 @@
</div>
<!-- 공통 모듈 -->
<script src="/js/sso-relay.js?v=20260401"></script>
<script src="/static/js/tkfb-core.js?v=2026040105"></script>
<script src="/js/api-base.js?v=2026031401"></script>
<script src="/js/common/utils.js?v=2026031401"></script>

View File

@@ -149,6 +149,7 @@
</div>
</div>
<script src="/js/sso-relay.js?v=20260401"></script>
<script src="/static/js/tkfb-core.js?v=2026040105"></script>
<script src="/js/api-base.js?v=2026031401"></script>
<script src="/js/common/utils.js?v=2026031401"></script>

View File

@@ -347,6 +347,7 @@
</div>
</div>
<script src="/js/sso-relay.js?v=20260401"></script>
<script src="/static/js/tkfb-core.js?v=2026040105"></script>
<script src="/js/schedule.js?v=2026031701"></script>
<script>

View File

@@ -843,6 +843,7 @@
</div>
<!-- Scripts -->
<script src="/js/sso-relay.js?v=20260401"></script>
<script src="/static/js/tkfb-core.js?v=2026040105"></script>
<script src="/js/api-base.js?v=2026040101"></script>
<!-- 공통 모듈 -->

View File

@@ -264,6 +264,7 @@
</div>
<!-- 공통 모듈 -->
<script src="/js/sso-relay.js?v=20260401"></script>
<script src="/static/js/tkfb-core.js?v=2026040105"></script>
<script src="/js/api-base.js?v=2026040101"></script>
<script src="/js/common/utils.js?v=2026040101"></script>

View File

@@ -573,6 +573,7 @@
<!-- 토스트 -->
<div class="toast-container" id="toastContainer"></div>
<script src="/js/sso-relay.js?v=20260401"></script>
<script src="/static/js/tkfb-core.js?v=2026040105"></script>
<script src="/js/api-base.js?v=2026031602"></script>
<script src="/js/common/utils.js?v=2026031602"></script>