#Security #Networking #OkHttp
How to Prepare Your Android App for a Pentest – Networking Edition
Pentests (penetration testing) - это симуляция кибер атаки на приложение с целью выявления уязвимостей, которые могут быть использованы злоумышленниками.
В статье разбираются такие понятия как
How to Prepare Your Android App for a Pentest – Networking Edition
Pentests (penetration testing) - это симуляция кибер атаки на приложение с целью выявления уязвимостей, которые могут быть использованы злоумышленниками.
В статье разбираются такие понятия как
TLS, Certificate pinning, Hostname verification, а самое главное интеграция этого в вашего приложения на основе OkHttp.Infinum
How to Prepare Your Android App for a Pentest – Networking Edition
Android app penetration testing is a must when developing an app, especially if you deal with sensitive user information.
#OkHttp #Network
Вышла OkHttp 4.4.0
Что нового:
👉 Новый артефакт bill of materials (BOM) для OkHttp, который позволит вам не задавать версию и держать все библиотеки для OkHttp в нужных версиях
👉 Исправление багов и улучшения
Вышла OkHttp 4.4.0
Что нового:
👉 Новый артефакт bill of materials (BOM) для OkHttp, который позволит вам не задавать версию и держать все библиотеки для OkHttp в нужных версиях
👉 Исправление багов и улучшения
GitHub
okhttp/CHANGELOG.md at master · square/okhttp
Square’s meticulous HTTP client for the JVM, Android, and GraalVM. - square/okhttp
#OkHttp #Networking
OkHttp Interceptor - Making the most of it
Популярная библиотека для работы по сети по протоколу HTTP OkHttp используется во всех проектах на Android, где есть выход в сеть.
Библиотека имеет одну удобную возможность - перехват любого запроса (Intercepting). С помощью нее можно логировать любой запрос (например, OkHttp Logging Interceptor).
В статье показывается пример как вы сможете использовать мощь Interceptor в своем коде.
OkHttp Interceptor - Making the most of it
Популярная библиотека для работы по сети по протоколу HTTP OkHttp используется во всех проектах на Android, где есть выход в сеть.
Библиотека имеет одну удобную возможность - перехват любого запроса (Intercepting). С помощью нее можно логировать любой запрос (например, OkHttp Logging Interceptor).
В статье показывается пример как вы сможете использовать мощь Interceptor в своем коде.
Outcome School | Get High Paying Tech Job
OkHttp Interceptor
In this blog, we will learn how to work with the OkHttp Interceptors.
#Network #OkHttp
Authorization and retrying of web requests for OkHttp and Retrofit
Рецепт как с помощью OkHttp Interceptors можно реализовать повтор неудавшегося выполненного запроса и или обновить Auth Token, в случае если он истек.
Такой способ позволяет автоматизировать выполнение операций, которые стандартно приходится реализовать при работе с REST.
Authorization and retrying of web requests for OkHttp and Retrofit
Рецепт как с помощью OkHttp Interceptors можно реализовать повтор неудавшегося выполненного запроса и или обновить Auth Token, в случае если он истек.
Такой способ позволяет автоматизировать выполнение операций, которые стандартно приходится реализовать при работе с REST.
Lordcodes
Authorization and retrying of web requests for OkHttp and Retrofit | Lord Codes
Most remote APIs require some form of authorization in order to access them. We will explore using OkHttp Interceptors and Authorizers to authorize our web requests for use with OkHttp and Retrofit.
#Networking #OkHttp
Вышел OkHttp 4.7.0
👉 Более простой способ отключить проверку безопасности во время разработки с помощью
👉 Добавлены события
👉 Добавлена константа с версией текущего используемого OkHttp клиента
👉 Исправлены баги с Android Studio 4.1 и другие
Вышел OkHttp 4.7.0
👉 Более простой способ отключить проверку безопасности во время разработки с помощью
HandshakeCertificates.Builder.addInsecureHost()👉 Добавлены события
cacheHit, cacheMiss и cacheConditionalHit() в EventListener👉 Добавлена константа с версией текущего используемого OkHttp клиента
👉 Исправлены баги с Android Studio 4.1 и другие
GitHub
okhttp/CHANGELOG.md at master · square/okhttp
Square’s meticulous HTTP client for the JVM, Android, and GraalVM. - square/okhttp
#OkHttp #Networking #Optimization
Maximizing OkHttp connection reuse
Разработчики из Booking закопались в оптимизации OkHttp чтобы получить больше скорости для своих сетевых запросов. Узкое место было найдено в том, что переиспользование socket соединений не работает так эффективно, как хотелось бы разработчикам библиотеки.
К сожалению, библиотека OKHttp не содержит callback, который бы позволил бы перехватить управление созданием RealConnection, не вам стоит обратить на рекомендацию от создателей:
Maximizing OkHttp connection reuse
Разработчики из Booking закопались в оптимизации OkHttp чтобы получить больше скорости для своих сетевых запросов. Узкое место было найдено в том, что переиспользование socket соединений не работает так эффективно, как хотелось бы разработчикам библиотеки.
К сожалению, библиотека OKHttp не содержит callback, который бы позволил бы перехватить управление созданием RealConnection, не вам стоит обратить на рекомендацию от создателей:
Security.insertProviderAt(Conscrypt.newProvider(), 1);Medium
Maximizing OkHttp connection reuse
debugging a 3rd party library
#okhttp
OkHttp: How to Refresh Access Token Efficiently
OAuth 2.0 - самый популярный подход при работе с авторизацией в REST API. Вам нужно не забывать обновлять ваши токены, так как они могут протухать. Реализовать это можно с помощью OkHttp Interceptor или Authenticator, а в статье найдете руководство
OkHttp: How to Refresh Access Token Efficiently
OAuth 2.0 - самый популярный подход при работе с авторизацией в REST API. Вам нужно не забывать обновлять ваши токены, так как они могут протухать. Реализовать это можно с помощью OkHttp Interceptor или Authenticator, а в статье найдете руководство
#AndroidBroadcast #OkHttp
📺 Возможности OkHttp о которых вы не знали
Практически ни один Android проект не обходится без использования Retrofit, но мало кто интересуется тем что под капотом у этой библиотеки, чтобы выполнять сетевые запросы.
Библиотека OkHttp имеет множество возможностей, которые позволят вам эффективнее реализовывать сетевые операции и сделать приложения отзывчивее и лучше. Из видео вы узнаете о таких возможностях
📺 Возможности OkHttp о которых вы не знали
Практически ни один Android проект не обходится без использования Retrofit, но мало кто интересуется тем что под капотом у этой библиотеки, чтобы выполнять сетевые запросы.
Библиотека OkHttp имеет множество возможностей, которые позволят вам эффективнее реализовывать сетевые операции и сделать приложения отзывчивее и лучше. Из видео вы узнаете о таких возможностях
Инструкция (EN, 4м) по настройке кэша в OkHttp чтобы делать меньше запросов в сеть. Надо чтобы ваш сервер добавлял к ответам специальные заголовки с информацией о размещение в кэш, либо уже сами перехватывайте запросы и добавляйте эту инфу (не советую)
#сеть #okhttp
#сеть #okhttp
👍43
Большая статья (EN,13м) по тому как с помощью кэша оптимизировать работу сетевого слоя клиента. ПОМНИТЕ, что оптимизации должны идти как с клиента, так и с сервера.
#network #okhttp
#network #okhttp
👍7
Обновление API токена в OkHttp/Retrofit
OkHttp поддерживает возможность обновления токена через специальный интерфейс Authenticator, которые срабатывает если API запрос на сервер вернет код
Добавление
Я часто сталкивался с тем, что реализация бэкенда возвращает отличный HTTP код и тогда уже приходится делать решение через Interceptor. Делитесь в комментариях как вы пишите логике по обновлению токенов.
#okhttp #сеть #лучшиепрактики
OkHttp поддерживает возможность обновления токена через специальный интерфейс Authenticator, которые срабатывает если API запрос на сервер вернет код
401 Unauthorizedclass TokenAuthenticator(private val tokenProvider: TokenProvider) : Authenticator {
@Throws(IOException::class)
override fun authenticate(route: Route?, response: Response): Request? = runBlocking {
// Получаем новый токен
val newToken = tokenProvider.refreshToken()
// Если токен не удалось обновить, возвращаем null
if (newToken == null) return null
// Сохраняем новый токен
tokenProvider.saveToken(newToken)
// Создаем новый запрос с обновленным токеном
return response.request.newBuilder()
.header("Authorization", "Bearer $newToken")
.build()
}
}
// Пример API для работы с токеном
interface TokenProvider {
suspend fun getSavedToken(): String?
suspend fun saveToken(newToken: String)
suspend fun refreshToken(token: String?): String?
}Добавление
Authenticator в OkHttpfun createOkHttpClient(tokenProvider: TokenProvider): OkHttpClient {
return OkHttpClient.Builder()
.authenticator(TokenAuthenticator(tokenProvider))
.build()
}Я часто сталкивался с тем, что реализация бэкенда возвращает отличный HTTP код и тогда уже приходится делать решение через Interceptor. Делитесь в комментариях как вы пишите логике по обновлению токенов.
#okhttp #сеть #лучшиепрактики
🔥38👍11👎4❤1🤯1
Десять лет назад Espresso привнес в тестирование Android одно из своих ключевых понятий – idling resource. Этот механизм ждал, пока приложение выполнит фоновую работу, прежде чем тест мог продолжиться. Square выпустили RxIdler и okhttp-idling-resource для мониторинга RxJava и OkHttp. Сегодня пришло время отправить их в архив.
❌ Что не так с idling resource?
Idling resource привязывает тесты к внутренней реализации приложения, а не к пользовательскому взаимодействию. Настоящий пользователь не ждет, пока OkHttp станет “idle” – он смотрит на UI. Если кнопка “Продолжить” загорелась зеленым – значит, можно нажимать.
💡 Как теперь тестировать ожидания?
Google обновил рекомендации, и теперь Compose предлагает встроенные API для ожидания условий. Для View-based интерфейсов можно написать кастомный ViewAction, который зацикливается на проверке условия, пока оно не выполнится.
Deprecated статус не значит что библиотеки больше не рабоают. Вы можете их продолжать использовать, они стабильны, но подход больше не рекомендуется к использованию.
#android #compose #okhttp #rxjava #тестирование
Please open Telegram to view this post
VIEW IN TELEGRAM