Ответ
Для авторизованных запросов в Android чаще всего используются:
- Basic Auth – передача логина/пароля в заголовке:
val credentials = "${login}:${password}".toByteArray()
.let { Base64.encodeToString(it, Base64.NO_WRAP) }
val authHeader = "Basic $credentials"
request.addHeader("Authorization", authHeader)
- OAuth токены (Bearer token):
request.addHeader("Authorization", "Bearer $accessToken")
- Cookie-based auth – автоматическая обработка через CookieManager:
CookieManager.getInstance().setCookie(url, "session=$sessionId")
- Retrofit с Interceptor для автоматической авторизации:
val client = OkHttpClient.Builder()
.addInterceptor { chain ->
val request = chain.request().newBuilder()
.addHeader("Authorization", "Bearer $token")
.build()
chain.proceed(request)
}
.build()
Для безопасности рекомендуется использовать HTTPS, хранить токены в EncryptedSharedPreferences и обновлять их по истечении срока.