Экспо Android автономное приложение: предотвратить перенаправление веб-просмотра в приложение - PullRequest
1 голос
/ 25 июня 2019

Привет У меня есть веб-просмотр внутри приложения, который показывает страницу аутентификации с использованием сервера идентификации. После аутентификации он перенаправляется в приложение из-за redirect_uri.

Поскольку веб-просмотр уже находится внутри приложения, мне не нужно, чтобы веб-просмотр вызывал redirect_uri для открытия нового экземпляра приложения.

Есть ли способ перехватить это? На андроиде нет поддержки реагирования нативного webView на ShhttStartLoadWithRequest. Я мог бы перехватить при запуске в клиенте экспо, и он остановит его перенаправление формы в приложение.

<WebView source={ { uri:loginSrc}} 
                ref={(ref) => {this.webView = ref; }}
                onNavigationStateChange={(e) => {
                  console.log("URL DATA Received");
                  console.log(e.url);
                  // if (e.url.startsWith("io.test.com://")) {
                  //   console.log("Go back to login")
                  //   e.goBack();
                  // }
                }}
                onShouldStartLoadWithRequest={
                  (data) => 
                  { 
                    //console.log("start request"); console.log(data);   
                    if (data.url.includes("#code")) {
                      this.setState({showLoginModal: false});
                      this._onExtractCode(data);
                      return false;
                    }
                    //console.log("end request");
                    return true;
                  }} ></WebView>

Или есть способ предотвратить глубокую ссылку на мое приложение

http://uat-login.funny.com/Account/Login?ReturnUrl=%2Fconnect%2Fauthorize%2Fcallback%3Fnonce%3Dtesting%26client_id%3Dslon_hybrid%26scope%3Dopenid%2520profile%2520email%2520lynx%2520slon%2520offline_access%26redirect_uri%3Dio.test.com%253A%252F%252F%253Fcallback%253Dauthentication%26response_type%3Dcode%2520id_token

Сверху url, есть redirect_uri, который откроет новый экземпляр приложения. Есть ли способ отменить этот запрос.

...