OpenID AppAuth и пользовательские вкладки - никогда не используются пользовательские вкладки, всегда внешний браузер - почему? - PullRequest
0 голосов
/ 18 октября 2018

Я использую библиотеку AppAuth и хочу, чтобы она использовала пользовательские вкладки, но она никогда не работает в эмуляторе с поддержкой Play Store или на моем устройстве, которое является HTC U11 под управлением Oreo.Хром установлен.Я перепробовал кучу конфигураций, но не повезло.

    val authService = AuthorizationService(applicationContext)

    val authIntent = authService.getAuthorizationRequestIntent(authRequest,
            authService.createCustomTabsIntentBuilder(Uri.parse(authorizationManager.openIdConfig!!.authorization_endpoint)).build())

    startActivityForResult(authIntent, REQUEST_AUTH)

Я пробовал с и без createCustomTabsIntentBuilder, в любом случае точно одинаковые результаты.Рисунок, я пропускаю один последний кусок секретного соуса здесь, просто не знаю, что это такое.

Все работает отлично, я получаю разрешение, остальная часть кода работает, он просто всегда использует внешний браузер.

** решено ** Текущая библиотека AppAuth не поддерживает AndroidX.Я вытащил код для библиотеки, добавил его в качестве модуля в свое приложение, обновил код до AndroidX и изменил одну строку, чтобы использовать правильную строку CustomTab, и теперь все работает как положено.

Строка BrowserSelector.java187 сейчас

 serviceIntent.setAction(CustomTabsService.ACTION_CUSTOM_TABS_CONNECTION);
...