본문 바로가기

프로그래밍 TIP/Android

[Android] 구글 로그인 인증 시 403. Error: disallowed_useragent 해결

 원인 : 안드로이드 웹뷰를 활용하여 구글 로그인 인증 시 해당 에러가 발생하게 됩니다.

아래의 링크에서 자세한 내용을 확인 할 수 있습니다.

developers-kr.googleblog.com/2016/08/modernizing-oauth-interactions-in-native-apps.html

 

더 나은 사용성과 보안을 위해 - 웹뷰에서의 OAuth 사용 제한

ID 팀은, 사용자가 자신의 구글 계정을 이용해, 다양한 애플리케이션에 쉽고 안전하게 로그인하고, 그리고 달력 또는 연락처 등의 정보를 다른 앱과 공유할 수 있도록 노력하고 있습니다. 이러한

developers-kr.googleblog.com

 

결론적으로는 SDK를 사용하여 직접 구현하라는 말 입니다.

SDK를 통해서 직접 구현하는데도 부담이 된다면 해당 userAgent를 변경하여 

우회하는 방법이 있습니다.

 

//1. 일단 웹뷰를 할당합니다. 뷰 바인딩을 생략합니다. +_+

private WebView mWebview; 

//아래와 같이 userAgent 문자열을 변경하면 됩니다.

mWebview.getSettings().setUserAgentString("Mozilla/5.0 AppleWebKit/535.19 Chrome/56.0.0 Mobile Safari/535.19");

 

제가 테스트를 해보니 잘 됩니다. 

 

하지만!!! 구글에서 권하는 방법은 아니기 때문에 고민해보시고 사용하시면 되겠습니다.

 

출처 : YouTube 어느 외국 개발자의 영상