Это довольно общий процесс OAuth, он состоит из трех шагов. Все подробно описано в документах Strava для аутентификации. < /P>
Шаг первый: < /p>
Нам нужно отправить запрос получить по ссылке: < /p>
Код: Выделить всё
https://www.strava.com/oauth/authorize- (для мобильных устройств)
Код: Выделить всё
https://www.strava.com/oauth/mobile/authorize
Код: Выделить всё
- "client_id" => "1234321"
- "redirect_uri" => "https://www.yourapp.com"
- "response_type" => "code"
- "approval_prompt" => "auto"
- "scope" => "activity:write,read"
Код: Выделить всё
{"message":"Bad Request","errors":[{"resource":"Application","field":"redirect_uri","code":"invalid"}]}
< /code>
Вот информация об этом из их документов: < /p>
redirect_uri< /code> - требуемая строка, в запросе - URL, на который пользователь будет перенаправлен после аутентификации.
должен находиться в домене обратного вызова, указанном приложением. Localhost и 127.0.0.1 имеют белый список. У них есть некоторая передняя проверка настройки в форме создания приложений. Они не допускают какую -либо спецификацию URI в поле ввода, простое слово, например Пример Теперь мы не объясняют 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
Мобильная версия