Как определить маркер аутентификации с истекшим сроком действия с помощью Mapbox SDK? - PullRequest
0 голосов
/ 04 февраля 2019

Я использую Android Mapbox SDK 7.0.0, и я даю SDK токен аутентификации с помощью указанного метода: Mapbox.getInstance(applicationContext, mapboxToken)

Мой токен аутентификации, mapboxToken, работает нормально, и карта

Но как определить, когда истекает срок действия токена аутентификации?

Я хочу время от времени обновлять этот токен аутентификации, но это также означает, что приложение Android должно обнаруживать токены с истекшим сроком действия.чтобы запросить новый.

Если в кэше нет плитки, то MapboxView вызывает OnDidFailLoadingMapListener, но если в кэше есть несколько плиток, карта загружается правильно, новые плиткине загружен и обратный вызов не запускается.

1 Ответ

0 голосов
/ 05 февраля 2019

Я нашел решение своей проблемы.Возможно переопределить Http-клиент Mapbox SDK.Этот обходной путь работает для Mapbox SDK для Android.Добавив перехватчик, мы можем интерпретировать код Http перед возвратом ответа в собственную библиотеку Mapbox.

Вот мой обходной путь для обнаружения неавторизованных HTTP-кодов:

val client = OkHttpClient.Builder().addInterceptor { chain ->
  val response = chain.proceed(chain.request())

  if (response.code() == 401) {
    // Code that handles unauthorized Mapbox token
  }

  response
}.build()

HttpRequestImpl.setOkHttpClient(client)
...