안드로이드 개발 팁 #40 - 웹뷰에서 구글 로그인 우회 방법steemCreated with Sketch.

웹뷰에서 구글 로그인 우회 방법

No. 40
23.09.08. (금) | Written by @dorian-mobileapp

시작하며…

지지난 주에 회사 앱들의 구글 로그인이 안 되는 오류가 발생했습니다. 403 오류였는데요. 웹뷰에서 구글 로그인이 막히는 문제입니다. 실은 이 문제가 이미 2016년부터 있었습니다. 그럼에도 여러 회사들은 이런 저런 이유들 때문에 웹뷰를 계속 고수하고 있습니다. 저희 회사에서도 그렇구요. 가장 근본적인 해결책은 구글이 제공하는 네이티브 라이브러리를 이용하는 것입니다. 그렇지만 이를 적용하려면 앱 뿐만 아니라 서버의 수정도 필요합니다. 결코 간단한 작업이 아니기 때문에 회사는 왠만하면 웹뷰를 계속 사용하기를 원하는 거죠. 많이 귀찮다는 면에서 앱 개발자도 굳이 바꾸고 싶어하지는 않습니다. 구글 로그인 우회 방법이 완전히 불가능해진다면, 최후의 방법을 써야겠지요.

오늘은 웹뷰에서 구글 로그인 우회 방법에 대해 정리합니다.


웹뷰에서 구글 로그인 우회 방법

(1) 웹뷰로부터 user agent string을 읽습니다.

val userAgentString = webView.settings.getUserAgentString()

(2) 다음과 같이 일부 문자열을 삭제해 줍니다.

val newUserAgentString = userAgentString.replace("; wv", "").replace("Android ${Build.VERSION.RELEASE};", "")

(3) 변경된 user agent string을 웹뷰의 그것으로 설정해 줍니다.

webView.setUserAgentString(newUserAgentString)

참고 - 안드로이드 웹뷰의 user agent string 사례

아래 문자열은 안드로이드 에뮬레이터에서 실행한 웹뷰의 user agent string입니다. Mozilla/5.0 다음에 위치한 괄호 안에 "wv", "Android 14;"가 있죠. 이들을 삭제해야 웹뷰에서 구글 로그인이 가능해집니다. (추후 구글이 추가 조치를 하면, 또 방법을 찾아야 할 것입니다.)

Mozilla/5.0 (Linux; Android 14; sdk_gphone64_arm64 Build/UPB5.230623.003; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/113.0.5672.136 Mobile Safari/537.36


참고 링크

(없음)


지난 안드로이드 개발 팁


Layout provided by Steemit Enhancer hommage by ayogom
Sort:  

안녕하세요.
SteemitKorea팀에서 제공하는 'steemit-enhancer'를 사용해 주셔서 감사합니다. 개선 사항이 있으면 언제나 저에게 연락을 주시면 되고, 관심이 있으신 분들은 https://cafe.naver.com/steemitkorea/425 에서 받아보실 수 있습니다. 사용시 @응원해 가 포함이 되며, 악용시에는 모든 서비스에서 제외될 수 있음을 알려드립니다.

[광고] STEEM 개발자 커뮤니티에 참여 하시면, 다양한 혜택을 받을 수 있습니다.


안녕하세요.
이 글은 SteemitKorea팀(@ayogom)님께서 저자이신 @dorian-mobileapp님을 응원하는 글입니다.
소정의 보팅을 해드렸습니다 ^^ 항상 좋은글 부탁드립니다
SteemitKorea팀에서는 보다 즐거운 steemit 생활을 위해 노력하고 있습니다.
이 글은 다음날 다시 한번 포스팅을 통해 소개 될 예정입니다. 감사합니다!

Upvoted! Thank you for supporting witness @jswit.

Coin Marketplace

STEEM 0.13
TRX 0.31
JST 0.033
BTC 110183.83
ETH 4278.07
USDT 1.00
SBD 0.83