Expo AuthSession только наполовину работает ... будет извлекать код, но не будет перенаправлять после получения токена - PullRequest
0 голосов
/ 28 января 2019

Здравствуйте, я создаю тестовое приложение в Expo и пытаюсь войти в систему, чтобы получить обратно токен для использования приложения Slack в моей рабочей области.Можно сказать, что я могу сделать один вызов, чтобы получить код для дальнейшей аутентификации и получить токен, и это возвращается к моему приложению.Однако при втором вызове, чтобы получить мой токен, я вижу, что токен сгенерирован, но я не могу перенаправить его обратно в мое приложение.

fetchTokenAuthA = async () => {
  const redirect_uri = AuthSession.getRedirectUrl()
  const responseA = await AuthSession.startAsync({
    authUrl:
      `https://slack.com/oauth/authorize?` +
      `&client_id=${client_id}` +
      `&scope=admin` +
      `&redirect_uri=${encodeURIComponent(redirect_uri)}`
  })
  const code = responseA.params.code
  const responseB = await AuthSession.startAsync({
    authUrl:
      `https://slack.com/api/oauth.access?` +
      `&client_id=${client_id}` +
      `&client_secret=${client_secret}` +
      `&code=${encodeURIComponent(code)}` +
      `&redirect_uri=${encodeURIComponent(redirect_uri)}`
  })
  this.setState({ responseB })
}

Если я регистрирую responseA, я вижу получить объект скод, который необходимо отправить на URL-адрес гнезда, чтобы получить токен.Итак ...

responseB запускается и переходит на следующий сайт авторизации slack, а затем я вижу ответ с объектом из slack, который успешно работает на моем экране, но я застрял на сайте slack.Если я иду назад или отменяю, я получаю объект отмененного состояния.

Не уверен, как я возвращаю объект, который я получаю во второй AuthSession назад.

...