AWS Amplify федеративная учетная запись Google работает правильно в браузере, но не работает в Android - PullRequest
1 голос
/ 09 июля 2020

Проблемы возникают, когда я пытаюсь запустить федеративную аутентификацию с помощью метода ampify auth в браузере, он работает нормально, но когда я пытаюсь запустить его на своем мобильном телефоне.

Выдает ошибку No user found когда я пытаюсь использовать Auth.currentSession(), но то же самое работает в браузере.

пытался выполнить поиск по этому типу проблемы, но я обнаружил, что ionic-cordova-google-plugin не имеет отношения к AWS Amplify Federated Login Issue.

Обновление вопроса после закрытия вопроса с меньшим количеством отладочной информации без запроса какой-либо информации.

Это проблемы, поднятые в git хабе в связи с моей проблемой.

  1. Проблема № 5351 усилить js он все еще в открытом состоянии.

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

Другая проблема 3537, которая все еще находится в открытом состоянии

Эти две проблемы имеют тот же сценарий, что и я, я надеюсь, что его достаточно отладочной информации, если требуется, укажите комментарий вместо закрытия без уведомления , это издевательство над новичком не помогает

1 Ответ

0 голосов
/ 12 июля 2020

Я исправил указанную выше проблему, сославшись на комментарий или обернув исправление.

Ссылка, которая ведет к этому комментарию напрямую ссылка на комментарий .

  • Сначала прочтите приведенный выше комментарий, поскольку он даст вам общее представление о том, в чем именно заключается проблема, вместо того, чтобы напрямую переходить к решению.
  • После прочтения комментария вы будете немного неясны в отношении реализации, поскольку он использовал конденсатор, а не все используют конденсатор.

В моей реализации я игнорирую эту часть, так как я не использую конденсатор.

App.addListener('appUrlOpen')
  • Теперь позволяет go основной шаг, на котором мы исправляем эту проблему, я использую глубокие ссылки для перенаправления в свое приложение
this.platform.ready().then(() => {
      this.deeplinks
        .route({
          "/success.html": "success",
          "/logout.html": "logout",
        })
        .subscribe(
          (match: any) => {
            const fragment = JSON.stringify(match).split('"fragment":"')[1];
             // this link can be your any link based on your requirement, 
             // what I am doing it I am passing all the data which I get in my fragments.
             // fragments consists of id_token, stage, code,response type.
             // These need to be passed to Ionic in order for Amplify to run its magic.
            document.location.href = `http://192.168.1.162:8100/#${fragment}`;
          },
          (nomatch) => {
            console.log("Got a deeplink that didn't match", nomatch);
          }
        );
    });

Я получил эту идею, сославшись на проблему, в которой разработчик упомянул об отправке кода и состояния вместе с URL глубокой ссылки приложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...