0

Я разрабатываю приложение для Android, которое связано с веб-приложением, которое также создается параллельно, проблема заключается в том, что веб-страница служб создается за htpasswd auth. Я считаю, что это помешает моей возможности сделать приложение для Android, которое будет работать с сервисами RESTful, которые мы создаем на веб-странице для мобильной стороны.Разработка приложений для Android, веб-сервер и htpasswd

Итак, у меня есть вопрос, и я полный newb с Android-разработкой, как есть, есть ли средство, где я могу сохранить htpasswd auth на сервере разработки, где все остальное настраивается, минуя auth, или предоставляете учетные данные некоторые как для этого.

ответ

2

Веб-сайт, который сам по себе заперт до имени пользователя и пароля, использует так называемую базовую аутентификацию. Вам просто нужно поместить пароль Base64 encoded username: password в поле аутентификации HTTP-заголовка.

Вы можете использовать HttpURLConnection, чтобы сделать это за вас. См. Это link и прокрутите страницу до HTTP-аутентификации. В основном, что вы делаете, когда вы связываете HttpURLConnection с вашим REST-сервисом, вы предоставляете ему имя пользователя и пароль, и оно будет обрабатывать остальное для вас. То же самое, если вы хотите использовать HttpClient вместо HttpURLConnection. Либо это сработает. Если вы хотите, чтобы информация о том, как это сделать, с помощью HttpClient, просто «Android HttpClient Basic Authentication»

Одно дело иметь в виду. когда вы используете базовую аутентификацию, имя пользователя и пароль отправляются в веб-запрос и могут рассматриваться третьими лицами. Вы должны использовать только базовую аутентификацию по HTTPS-соединению.