W określonym scenariuszu kontrola WebBrowser
nie wyzwala procedury obsługi zdarzenia NavigationComplete
lub NavigationFailed
.Kontrola WebBrowser nie wyzwala procedur obsługi zdarzeń
Oto, co powinno się zdarzyć:
- Native Windows Phone 8.1 Silverlight app instancję
WebBrowser
i zapewnia mu link, aby załadować stronę internetową uwierzytelniania. WebBrowser
kontrola ładuje adres URL i renderuje stronę.- Wprowadza dane uwierzytelniające użytkownika i naciska przycisk Wyślij, aby wysłać informację do auth usługi.
- Usługa uwierzytelniania sprawdza poprawność poświadczeń i odpowiada za pomocą 302 (przekierowanie).
WebBrowser
kontrola następuje po przekierowaniu.- Obsługa zdarzeń jest dołączona do formantu. Po znalezieniu wzorca adresu URL, który wskazuje, że przekierowanie powiodło się, wykonuje dodatkową metodę.
- Dodatkowa metoda pobiera token openid z parametrów zapytania adresu URL przekierowania.
- Użytkownik jest uwierzytelniony i szczęśliwy.
Co właściwie się dzieje:
Po użytkownik przekazuje swoje poświadczenia w kroku # 3 WebBrowser
świadczy pustą białą stronę i nie powoduje żadnychobsługi zdarzeń. Kod nasłuchuje dla każdego programu obsługi zdarzenia nawigacyjnego dostarczonego przez kontrolkę WebBrowser
.
Co próbowałem:
- Odtworzone scenariusz tak ściśle, jak mogę z serwera testowego Heroku. WebBrowser przechodzi do fałszywej strony wejściowej poświadczeń za pomocą przycisku POST submit, który ponownie trafia w heroku; heroku odpowiada 302 i rzeczywistym adresem URL przekierowania. W
WebBrowser
działa dobrze O_o - Dodany
onTap
wydarzeń doWebBrowser
który sprawdza aktualne url/przejście do innej strony, aby zobaczyć, czy kontrola jest jakoś uszkodzony po pustym błędu strony.WebBrowser
reaguje poprawnie. - Upewniono się, że w formancie włączony jest Javascript.
- Używana jest ta sama infrastruktura po stronie serwera z aplikacją na tablety z systemem Windows 8, która ma 90% tego samego kodu, ale z kontrolką
WebView
.WebView
działa dobrze.
Wszelkie sugestie? Czy ktoś doświadczył tej kontroli działając w ten sposób? Czy ktoś wie o bibliotece, która może rozwiązać ten problem (komercyjne lub open source). Czy Android bridge for Windows lub iOS bridge for Windows obsługuje telefon z systemem Windows 8?
Trudno pomóc bez pełnej próbki repro. –
Tak, sam mam ten sam problem. Mogłem tylko odtworzyć to za pomocą naszego firmowego autorskiego oprogramowania Auth – davehenry
Czy strona jest przekierowywana, aby korzystać z HTTPS? Jeśli tak, czy certyfikat jest ważny? Przechodzenie do strony z unieważnionym certyfikatem na sterowniku przeglądarki czasami wyświetla pustą stronę. – Don