개발자

react-native) 안드로이드에서만 api서버가 401에러 발생

2023년 03월 07일조회 403

서버 api 호출하는 코드인데요. ios에서는 토큰 가져와서, 호출 잘 되는데, 안드로이드에서는 토큰은 잘 가져오는데.... 호출을 하면 권한이 없다고 나옵니다. (401에러 unauthorized) 물론 헤더 넘기지 않는 로그인 같은것은 성공적으로 수행됩니다. 유저 정보를 가져오는 이 부분만 android에서 에러가 발생하네요 ㅜㅜ 혹시 이런 이슈 해결하신분 있을까요? api서버는 django입니다. useEffect(() => { const getTokenAndRefresh = async () => { try { const token = await EncryptedStorage.getItem('accessToken'); if (!token) { return; } console.log('스토리지에 token있음:', token); const API_URL = Platform.OS === 'ios' ? IOS_API_URL : ANDROID_API_URL; const response = await axios.get(`${API_URL}/me`, { headers: { Authorization: `Token ${token}`, }, }); console.log(response.data); dispatch( userSlice.actions.setUser({ userInfo: response.data, accessToken: token, }), ); } catch (error) { console.error(error); console.error('me호출 에러'); } } }; getTokenAndRefresh(); }, [dispatch, isAccessToken]);

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 3

강병진님의 프로필 사진

코드만 봐서는 안드로이드에서 호출하는 URL과 ios에서 호출하는 URL이 다른 것 같습니다

엄홍재님의 프로필 사진

IOS_API_URL과 ANDROID_API_URL의 header 명세가 다른건 아닐까요? (질문) 근데 왜 API가 다른건가요? 같은 기능인데 플랫폼마다 API를 다르게 만든신이유가 순수하게 궁금합니다.

profile picture

익명

작성자

2023년 03월 07일

아!! 조금더 상세하게 설명했어야 했는데, 죄송합니다! 현재 개발중인 상황이구요, 개발과정에서 안드로이드가 localhost호출이 안되어서 저렇게 구분해놓은 것입니다. .env에 이렇게 기록해 두었구요. IOS_API_URL=http://localhost:8000 ANDROID_API_URL=http://10.0.2.2:8000

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

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

또는

이미 회원이신가요?

목록으로
키워드로 질문 모아보기

실무, 커리어 고민이 있다면

새로운 질문 올리기

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