안녕하세요
webview 로그인 관련 문의드립니다.
react native로 개발진행하고 있습니다.
1번 web 일경우 인증 받고 토큰으로 사용자 정보 확인
2번 안드로이드일경우 intent 설정으로 카카오톡 앱 실행
3번 ios일경우 1번과 같은 로직 진행
2번 안드로이 일경우 intent 설정하여 카카오톡 앱까지 연결 완료하였고 카카오톡 앱 연결하면서 인증하는 도중
{“msg”: "ip mismatched! callerip… " , “code”: -401}
와 같은 에러가 나와 관리자 콘솔에서 확인해보니
web 서비스가 올라간 ip는 허용된상태입니다.
문제는 핸드폰 2개에 테스트 어플을 설치하고 2번과같은 로직으로 돌릴경우 계속 callerip가 변경되는데 webview에서 바라보는 web 서비스 ip로 고정할 수 있는 방법은 없을까요?
ex ) web : 33.333.333.444
핸드폰 1 : 44.444.555.666 ( 호출 ip가 변경됨)
tim.l
2
안녕하세요~
확인을 위해 앱 ID 알려주세요~
앱ID
https://developers.kakao.com/ 의 내 애플리케이션>앱 설정>요약 정보 : 기본정보에 있는 앱 ID
숫자로된 ID 입니다~
ex) 123456
tim.l
4
/v2/user/me 호출 시, 해당 에러 확인되는데요.
API호출 하시는 방식이 어떻게 되나요? 코드블럭 공유 부탁드려요.
(등록된 IP를 모두 제거하시면 IP체크를 하지 않기는 합니다.)
말씀해주신대로 허용 IP 체크 푸니 IP검토를 안하고 통과하여 로그인이 정상적으로 되는거 확인하였습니다.
app key 갈취되었을 시 보안취약이 우려되어
이 방법 말고 허용 IP를 등록된 상태에서 (웹서버 IP) 제가 보완할수 있는 방법 알려주시면 감사하겠습니다.
또 한 방법이 없다면 일단 위와 같은방법으로 패스처리하고 따로 인프라적으로 보안할수 있을지 고려해보겠습니다.
tim.l
7
웹사이트, 안드로이드, IOS 에서 사이트를 호출하여 표시하고
API를 호출하는 주체가 웹사이트를 호스팅하는 Backend 서버인 경우, 허용 IP를 서버 IP로 등록하면 되는데요.
Client Script로 API호출을 하시는 것 같습니다.
이 경우 호출 주체가 Client 브라우저이므로 IP가 변경될 수 밖에 없는데요.
보안을 강화 하시려면, API호출로직을 Backend로 일원화 하고 Front에서는 Backend 통해 API호출하고 결과만 받는 형태로 사용하시면 좋을 것 같습니다. (액세스 토큰도 Backend에서만 관리)
확인 부탁드려요.
ip변경에 대한 로직관련 이해하였고
rest api 로직쪽을 백엔드 서버에서 일괄 호출하는걸로 로직변경되야겠네요.
감사합니다.
1개의 좋아요