Expo React Native: проверка подлинности Strava переходит на веб-сайт - PullRequest
0 голосов
/ 01 августа 2020

Надеюсь, кто-то уже изучил это и может помочь мне включить Strava oauth. Что должно произойти, так это то, что пользователь нажимает кнопку подключения с помощью Strava и должен быть перенаправлен в myApp после авторизации приложения. Однако Strava сообщает, что redirectURL недействителен для первых двух параметров (потому что это строка, содержащая URL-адрес expo, даже если это автономное приложение с управляемым рабочим процессом). Третий вариант с myApp действителен, но не перенаправляет пользователя обратно в приложение или что-либо еще. Четвертый вариант действителен, но пользователь перенаправляется на веб-сайт, что, конечно же, не является целью.

const openStravaAuth = async () => {
  // These do not work
  // const redirect = await Linking.getInitialURL() + '/stravaAuth'
  // const redirect = Linking.makeUrl('/stravaAuth')
  // const redirect = 'myApp://myApp.com'

  // This does work, but redirects user to browser and that will create a whole new user if they are not logged in there
  const redirect = 'https://myApp.com/stravaAuth' // This one works
  
  const url = `https://www.strava.com/oauth/authorize?client_id=${STRAVA_CLIENT_ID}&response_type=code&redirect_uri=${redirect}&approval_prompt=force`

  const result = await WebBrowser.openAuthSessionAsync(url, redirect)
}
...