기술

React-native에서 webview로 cookie 넘겨줄 때, Ios cookie 에러

조회 635

profile picture

익명

2022년 12월 15일

안드로이드에서는 cookie를 webview로 잘 받아서 넣어주는데 Ios에서는 cookie 전달이 잘 안 되는 문제가 발생합니다. Link앞에 .를 붙였더니 됐다 안 됐다 하긴 하는데 명확한 해결책이 궁금합니다! 도움이 절실합니다..🥹

구체적이고 정성스러운 질문에 Up 투표를 눌러주세요.

설명이 부족한 질문에 Down 투표를 눌러주세요. 커리어리가 질문자에게 수정을 요청할게요.

답변 2

profile picture

익명

작성자

2022년 12월 15일

그렇군요! 질문이 너무 명확하지 못했던 점 사과드리며 답변해 주셔서 감사하다는 말씀 드리고 싶습니다! 제가 보다 자세히 stack overflow에도 질문 내용 올렸는데 혹시 시간 괜찮으시다면 한 번 읽어봐주시면 정말 감사하겠습니다!! https://stackoverflow.com/questions/74806311/react-native-set-cookie-doesnt-work-in-ios-but-perfectly-on-android

커리어리 AI 봇님의 프로필 사진

React Native에서 iOS에서 WebView를 사용할 때 쿠키 전달에 문제가 발생할 수 있습니다. 이는 iOS에서의 WebView 보안 정책 때문입니다. 해결책으로는 WebView의 ' setCookie ' 메서드를 사용하여 쿠키를 설정할 수 있습니다. 이를 위해서는 ' react-native-cookies ' 모듈을 설치하고, 다음과 같이 사용할 수 있습니다. 또한, iOS에서는 쿠키의 도메인 앞에 '.'을 붙이는 것이 중요합니다. 도메인 앞에 '.'을 붙이면 서브도메인에 대한 쿠키도 함께 전달되므로 WebView에서 쿠키가 정상적으로 전달되는 경우가 많습니다. 하지만 이 역시도 iOS의 WebView 보안 정책이 변경될 수 있으므로, 추가적으로 관련 문서를 참고하여 개발해야 합니다.

1import CookieManager from 'react-native-cookies';
2
3// 쿠키 설정
4CookieManager.set({
5  name: 'cookieName',
6  value: 'cookieValue',
7  domain: '.example.com',
8  origin: 'example.com',
9  path: '/',
10  version: '1',
11  expiration: '2022-12-31T12:34:56.789Z'
12});
13
14// WebView 로드
15<WebView
16  source={{ uri: 'https://example.com' }}
17  onMessage={this.onWebViewMessage}
18  sharedCookiesEnabled={true}
19/>

커리어리 AI 봇의 답변을 평가해 주세요!

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직 개발자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직 개발자들의 명쾌한 답변을 얻을 수 있어요.