Реактируйте Native Deep Signing обратно на местные приложения с ограничением домена обратного вызова Strava APIAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Реактируйте Native Deep Signing обратно на местные приложения с ограничением домена обратного вызова Strava API

Сообщение Anonymous »

Я в процессе настройки OAuth с помощью API Strava для нативного проекта React, созданного с помощью Expo версии 51.
Это довольно общий процесс OAuth, он состоит из трех шагов. Все подробно описано в документах Strava для аутентификации. < /P>
Шаг первый: < /p>
Нам нужно отправить запрос получить по ссылке: < /p> Приведенный выше get должен иметь прикрепленные параметры запроса (пример из Docs):

Код: Выделить всё

    - "client_id"        => "1234321"
- "redirect_uri"     => "https://www.yourapp.com"
- "response_type"    => "code"
- "approval_prompt"  => "auto"
- "scope"            => "activity:write,read"
Когда get выполняется, пользователь доставляется в Strava, чтобы подтвердить, что они рады авторизировать мое приложение и дать ему запрошенный доступ, указанный в Param Queper . Если пользователь выполняет авторизацию, API Strava вызовет ссылку «redirect_uri», которая должна ссылаться на наше приложение. Если вы создаете вышеупомянутое get с помощью URL, который состоит из ссылки «redirect_uri», которая не содержит домена, который вы устанавливаете в приложении Strava, созданном на их веб -сайте, API Strava отклонит ваш запрос с помощью сообщения: < /p>

Код: Выделить всё

{"message":"Bad Request","errors":[{"resource":"Application","field":"redirect_uri","code":"invalid"}]}
< /code>
Вот информация об этом из их документов: < /p>

redirect_uri< /code> - требуемая строка, в запросе - URL, на который пользователь будет перенаправлен после аутентификации.
должен находиться в домене обратного вызова, указанном приложением. Localhost и 127.0.0.1 имеют белый список. У них есть некоторая передняя проверка настройки в форме создания приложений. Они не допускают какую -либо спецификацию URI в поле ввода, простое слово, например Пример 
разрешен, а также весь домен, например example.com или example.app или даже example.app.app Но нет http://example.com Это вернется с ошибкой: «Это поле должно быть просто доменом, без ударов или путей».
Теперь мы не объясняют Android и iOS. < /p>
web < /h3>
Я успешно аутентифицировал веб -версию, указав обратный вызов, который был разрешен API Strava, а затем вернул мне в Интернет (в новой вкладке). Угадай?) На обеих платформах. Я настроил свою локальную разработку с помощью Expo Go и использую сборку разработки, которая была создана с помощью EAS , и теперь приложение Android установлено на физическом устройстве со схемой настройкой. Поэтому, если я попытаюсь открыть схему ссылок: // home на моем мобильном устройстве, это приведет меня к моему приложению, на экране Home . Я проверил это, и это работает. Кажется, я не могу найти способ предоставить рабочий URL -адрес обратного вызова, который (как только пользователь разрешит) вернуть в мое приложение и позволить обработать дальнейшие шаги аутентификации.Callback urls tried when the above domain is set:

"example://something" => invalid
"example" => invalid
"http://example.app" => invalid
< /code>
Другой пример: < /p>
"Example.com"
"example.com://localhost.com?some=param" => invalid
"example.com" => invalid
"example.com?some=dude" => invalid
"localhost" => invalid
"http://example.com?authorise" => works
"example.com://example.com" => works
"localhost://localhost" => works
"localhost://example.com" => works
< /code>
by "Works" Я имею в виду, что Strava не отвергает предоставленный URL -адрес обратного вызова на основе безопасности, которую они настраивали на своем конце. Мы также должны использовать полный домен, а не просто имя. Учитывая эти ограничения и то, как скидывание мобильных приложений (например, схема: // screen-name), вот мои вопросы:

Как я могу успешно перенаправить пользователя в мое приложение, чтобы они могли разрешить API? Аутентификация?>

Подробнее здесь: https://stackoverflow.com/questions/790 ... -domain-re
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»