Пользовательские вкладки Chrome Oauth2 Flow

Я использую пользовательские вкладки Chrome для входа с помощью strava. Я могу авторизовать приложение, но пользовательские вкладки Chrome не перенаправляют обратно в мое приложение при достижении перенаправления.

<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="sample.example.com"
       android:pathPrefix="/"
       android:scheme="http" />
</intent-filter>

Как я могу перенаправить обратно в приложение, когда пользовательские вкладки Chrome перенаправят URI?


person Victor    schedule 05.02.2016    source источник


Ответы (2)


Согласно этому: https://code.google.com/p/chromium/issues/detail?id=536037 URI должен иметь пользовательскую схему, иначе намерение к приложению не будет запущено.

Попробуйте URI, например strava://callback или sample://example.

Кроме того, убедитесь, что URI, определенный в намерении, соответствует используемому параметру redirect_uri, а также параметру, зарегистрированному в вашем приложении.

person Hennessy    schedule 08.02.2016
comment
Но strava поддерживает только схему http[s] , поэтому пользовательские вкладки будут обрабатывать это намерение. URI типа sample://example не поддерживается в поле домена - person Victor; 09.02.2016
comment
Затем вам нужно убедиться, что вы ранее выбрали приложение для обработки этого типа URL-адреса. См. 1. комментария Яна по ссылке. Если вы ранее выбрали приложение в качестве обработчика по умолчанию, перенаправление будет работать. - person Hennessy; 10.02.2016
comment
Вы спасли мой день. Спасибо! - person Alexei Artsimovich; 01.03.2019

В настоящее время strava поддерживает только схему http[s].
Я думаю, что только fitbit поддерживает пользовательскую схему для получения обратных вызовов в приложение с пользовательских вкладок Chrome.

person Victor    schedule 15.11.2016