Прежде всего, последнее руководство заключается в том, что аутентификацию не следует выполнять внутри веб-представления. Современный подход заключается в открытии внешнего окна браузера, где пользователь проходит аутентификацию, а затем перенаправляется обратно в приложение с использованием пользовательской схемы URI. Смотрите подробный пост по этому здесь на SO .
Неудачный ответ таков: WebView
не предлагает встроенного способа доступа к HTTP-ответу и его заголовкам. Это было запрошено (см., Например, это сообщение в блоге от Martin Suchan), но до сих пор не реализовано. Если у вас есть контроль над веб-страницей, вы можете сохранить информацию об аутентификации в файлах cookie, которые доступны. В этом даже не может помочь внедрение собственного JavaScript, поскольку получение заголовков HTTP возможно, если вы инициируете запрос AJAX в JS, но вы не можете получить заголовки для страницы, которая уже загружена.
Как упомянуто в комментариях выше, лучшим решением было бы кодировать логин вручную, используя HttpClient
или посмотреть, поддерживает ли служба правильный поток OAuth2 / OpenID Connect, и в этом случае вы можете использовать библиотеку , такую как IdentityModel.OidcClient2
, который может выдержать большую часть тяжелой работы для вас.
Вы также можете использовать встроенный WebAuthenticationBroker
, см. документы здесь .