Skip to content

Commit 8a22b13

Browse files
minsukim-29cmclaude
andcommitted
fix: Android/iOS 모두 커스텀 스킴 사용하도록 변경
App Links verification 문제 우회 Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
1 parent 3ae780f commit 8a22b13

1 file changed

Lines changed: 4 additions & 21 deletions

File tree

src/hooks/useSocialAuth.ts

Lines changed: 4 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -201,17 +201,9 @@ export const useSocialAuth = () => {
201201
const parsedState: OAuthState = stateParam ? JSON.parse(atob(stateParam)) : {};
202202

203203
if (parsedState?.fromWebView) {
204-
const isAndroid = /Android/i.test(navigator.userAgent);
204+
// WebView에서 온 경우 커스텀 스킴으로 복귀 (Android/iOS 모두 동일)
205205
const errorParam = `error=${encodeURIComponent(error)}`;
206-
207-
if (isAndroid) {
208-
// Android HTTPS Deep Link (AndroidManifest.xml에 설정됨)
209-
const provider = parsedState.provider || 'kakao';
210-
window.location.href = `https://humanzipyo.com/login/oauth2/code/${provider}?${errorParam}`;
211-
} else {
212-
// iOS 커스텀 스킴
213-
window.location.href = `${URL_SCHEME}?${errorParam}`;
214-
}
206+
window.location.href = `${URL_SCHEME}?${errorParam}`;
215207
} else {
216208
setError('로그인에 실패했습니다. 다시 시도해주세요.');
217209
setIsLoading(false);
@@ -224,18 +216,9 @@ export const useSocialAuth = () => {
224216
const parsedState: OAuthState = JSON.parse(atob(stateParam));
225217

226218
if (parsedState?.fromWebView) {
227-
// WebView에서 온 경우 Deep Link로 복귀 (state도 함께 전달)
219+
// WebView에서 온 경우 커스텀 스킴으로 복귀 (Android/iOS 모두 동일)
228220
const params = `code=${encodeURIComponent(code)}&provider=${parsedState.provider || ''}&state=${encodeURIComponent(stateParam || '')}`;
229-
const isAndroid = /Android/i.test(navigator.userAgent);
230-
231-
if (isAndroid) {
232-
// Android HTTPS Deep Link (AndroidManifest.xml에 설정됨)
233-
const provider = parsedState.provider || 'kakao';
234-
window.location.href = `https://humanzipyo.com/login/oauth2/code/${provider}?${params}`;
235-
} else {
236-
// iOS 커스텀 스킴
237-
window.location.href = `${URL_SCHEME}?${params}`;
238-
}
221+
window.location.href = `${URL_SCHEME}?${params}`;
239222
} else {
240223
// 브라우저에서 온 경우: URL 파라미터 제거 후 처리하여 무한 루프 방지
241224
const provider = location.pathname.split('/').at(-1);

0 commit comments

Comments
 (0)