#android #http #http-headers #android-webview
Вопрос:
Я должен реализовать аутентификацию. Я использую Webview для Android. При открытии веб-страницы входа в систему пользователь вводит адрес электронной почты и пароль и нажимает кнопку «войти». После этого веб-страница перенаправляется на обратный URL-адрес, на этом шаге я должен перехватить только маркер аутентификации в webview и ничего больше. Маркер аутентификации, который мне нужно получить, хранится в данных формы запроса. Я могу увидеть маркер аутентификации в браузере, если я:
1.Откройте инструменты разработчика (нажмите f12 на клавиатуре).
2.Выберите «Сеть».
3.Выберите «Все».
4.Выберите файл на вкладке «Имя» .
5.Выберите «Заголовки».
и я вижу окно, как показано на изображении, и в этом окне показан токен аутентификации
Как я могу получить данные формы формы токена аутентификации с помощью WebVeiw?
Вот пример того, как разработчики iOS реализовали это:
В Swift наш обратный вызов веб-представления дает нам вещь, называемую a NavigationAction
. Сначала мы проверяем, так ли navigationAction.request.url
это ..//identity/userAuthenticated
. Если это так, то мы анализируем navigationAction.request.httpBody
, чтобы получить код аутентификации.
Комментарии:
1. Можете ли вы сначала сказать, где и когда вы пытались перехватить данные, которые должны быть опубликованы, но не преуспели? Добавьте всю информацию в свой пост, пожалуйста.
2. Вам не нужно перехватывать пропуск и электронную почту, которые ввел пользователь? Но ответ с сервера? Тогда что именно вы получаете с сервера, который хотите перехватить? Обычно ли он отображается в веб-представлении?
at this stage
мне это довольно непонятно. Перехват данных формы выполняется при публикации данных формы. Не тогда, когда вы получаете что-то с сервера.3. @blackapps Я отредактировал свой вопрос
4. Вы не ответили на мои вопросы так, чтобы это было убедительно для меня. Я больше ничего не знаю из вашего ответа.