Схема AppAuth Android https - работать с Firefox и другими браузерами?
Я хотел бы знать, работает ли AppAuth по схеме https с Firefox и другими браузерами.
У меня есть CAS 5.2, действующий как OAuth Idp, но это не проблема, поэтому я не буду публиковать здесь настройки.
Я пытаюсь сделать демо-приложение AppAuth, которое может работать с моим Idp, я использую демо-версию для установки через https://github.com/openid/AppAuth-Android.
Я использую схему https redirect_uri, так как этот OAuth Idp предназначен не только для мобильных устройств.
Проблема в том, что я могу заставить OAuth работать только в Chrome (и в версии Custom Tab) и в браузере Samsung (и в версии Custom Tab).
Для другого браузера, который я тестировал (Opera, Dophin, Firefox), я просто смотрю на свой redirect_uri и отказываюсь возвращаться в Приложения [ https://www.example.net/test_oauth/index.php ] (Примечание: Я уже предлагал пользователю нажать на ссылку для перенаправления)
Я бы хотел, чтобы он работал больше, чем только браузер Chrome и Samsung, если он может работать с, возможно, Firefox Custom Tab и более, это будет здорово!
Настройка в основном такая же, как и в AppAuth Demo, но только принудительно устанавливает секрет клиента (для целей тестирования) и следующую конфигурацию
auth_config.json:
{
"client_id": "TestOAuth",
"redirect_uri": "https://www.example.net/test_oauth/index.php",
"authorization_scope": "openid email profile",
"discovery_uri": "",
"authorization_endpoint_uri": "https://www.example.net/cas/oauth2.0/authorize",
"token_endpoint_uri": "https://www.example.net/cas/oauth2.0/accessToken",
"registration_endpoint_uri": "",
"user_info_endpoint_uri": "https://www.example.net/cas/oauth2.0/profile",
"https_required": false
}
AndroidManifest.xml
<activity android:name="net.openid.appauth.RedirectUriReceiverActivity">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="www.example.net"
android:path="/test_oauth/index.php"
android:scheme="https" />
</intent-filter>
</activity>
Спасибо!
1 ответ
Ведущий сопровождающий AppAuth здесь. Насколько я знаю, Firefox и другие браузеры, не основанные на Chromium, не реализуют ссылки на приложения и поэтому не пытаются отправлять соответствующие веб-URL-адреса приложениям, которые их запрашивают. По этой причине, если вы должны использовать URL-адреса веб-перенаправления для потока авторизации, я рекомендую настроить реальную веб-страницу для захвата перенаправления и преобразовать ее в URI на основе пользовательской схемы, прикрепленный к кнопке или ссылке.