[Flutter] Inappwebview google signin disallowed_useragent

플러터위에서 포팅된 하이브리드 앱에서, 구글 로그인시 disallowed_useragent 오류와 함께 구글 로그인이 진행되지 않았습니다. 구글은 기본 Webview의 구현 사용을 허용하지 않습니다. 따라서 WebView에 사용자 정의 UserAgent를 구현해야 합니다.

플러터에서 Inappwebview에서 UserAgent 구현은 간단합니다.

  InAppWebViewGroupOptions options = InAppWebViewGroupOptions(
      crossPlatform: InAppWebViewOptions(
          userAgent: 'random',
          useShouldOverrideUrlLoading: true,
          mediaPlaybackRequiresUserGesture: false,
          transparentBackground: true),
      android: AndroidInAppWebViewOptions(
        useHybridComposition: true,
        geolocationEnabled: true,
      ),
      ios: IOSInAppWebViewOptions(
        allowsInlineMediaPlayback: true,
      ));

불필요한 코드는 무시하고 userAgent: 'random' 부분이 핵심입니다.

      InAppWebView(
                  key: webViewKey,
                  initialOptions: options,
                  pullToRefreshController: pullToRefreshController,
                  onWebViewCreated: (controller) {
                    webViewController = controller;
                  },

해당 옵션값만 Inappwebview에 추가하면 아주 간단하게 해결됩니다.