Код Stripe Connect, обработанный AWS Amplify Auth - PullRequest
1 голос
/ 23 апреля 2019

В моем проекте Angular я настроил AWS Amplify с OAuth и размещенным пользовательским интерфейсом .

Все работает нормально. Когда я хочу подключиться к Google, меня перенаправляют обратно с URL-адресом типа http://localhost:4200/?code=de79bfa4-xxxxxx&state=2xxxxxx, который хорошо обрабатывается AWS Amplify Hub.

Теперь я хочу настроить Stripe Connect в моем проекте, который также использует OAuth-поток потока .

Поэтому я настраиваю свою ссылку OAuth, как определено в документации, добавляя ссылку, как показано ниже:

<a class="stripe-connect" href="https://connect.stripe.com/oauth/authorize?response_type=code&client_id=ca_xxxxxx&scope=read_write"><span>Connect with Stripe</span></a>

Задача

Я перенаправлен обратно с URL-адресом, как http://localhost:4200/stripe?scope=read_write&code=ac_xxxxxx

К сожалению, этот URL также обрабатывается Amplify, и я получил следующее сообщение об ошибке:

zone.js: 1152 POST https://[domain].amazoncognito.com/oauth2/token 400

core.js: 15724 ОШИБКА Ошибка: Uncaught (в обещании): Ошибка: invalid_grant

Ошибка: invalid_grant

Это понятно, потому что Amplify пытается обработать код Stripe Connect ..

Но я не знаю, как исправить это поведение.

Есть идеи решить эту проблему?

Воспроизвести

  1. Настройка примера репозитория с помощью пользовательского интерфейса Amplify Auth Hosted UI
  2. Редактировать Stripe client_id в stripe.component.html
  3. Запустить проект
  4. Связаться с Google
  5. Перейти к настройкам
  6. Нажмите на ссылку «Соединить с полосой»
  7. В форме Stripe нажмите «Игнорировать эту учетную запись»
  8. Смотри ошибку

Error message

1 Ответ

0 голосов
/ 11 мая 2019

Я связался с командой Amplify, и это нормальное поведение:

https://github.com/aws-amplify/amplify-js/issues/3157

С потоками OAuth в Amplify и потоком предоставления кода, как только вы будете перенаправлены обратноот стороннего производителя Amplify автоматически проанализирует URL-адрес для получения кода и использует его для получения учетных данных от конечной точки стороннего производителя / токена.

К сожалению, в настоящее время мы не можем добавлять исключения или даже фильтры вУсиление, чтобы не анализировать автоматически URL.

...