Как получить данные из браузера Cordova в приложении - PullRequest
0 голосов
/ 15 апреля 2019

Я работаю над аутентификацией для приложения Ionic 4. Я использую плагин в браузере приложения для входа в систему. После успешного входа в систему токен доступа отправляется обратно клиенту. Я не могу понять, как получить токен из браузера в приложении в приложение.

Ответы [ 2 ]

1 голос
/ 16 апреля 2019

Вы можете использовать прослушиватель событий, например:

this.browser.on('loadstart').subscribe(event => { this.checkForToken(event); })

Где checkForToken может просмотреть ваш «event.url» и проанализировать токен, который будет сохранен в localStorage или каком-либо другом методе, который будет использоваться для входа в систему после закрытия браузера в приложении.

0 голосов
/ 16 апреля 2019

Использование событий для прослушивания запуска и остановки загрузки было отличной идеей. Однако я столкнулся с другой проблемой. Google не разрешает вход в систему с помощью браузера в приложении, и мне это действительно нужно. После расспросов и изучения похожих прошлых проблем я наткнулся на плагин Cordova под названием BrowserTab . Это было потрясающе, так как это экземпляр / пользовательская вкладка из Chrome, поэтому он хорошо работал при входе в Google. Возникла другая проблема. Вы не можете внедрить Javascript в BrowserTab, и не было никакого способа программно закрыть его, как только это будет сделано. Я огляделся еще немного, и тогда на ум пришло Deeplinks. Я использовал плагин Deeplinks и передал свой токен доступа в качестве параметра. Когда пользователь входит в систему, BrowserTab перенаправляет на ссылку «Пользовательская схема URL» для моего приложения с токеном доступа в URL. Теперь это работает отлично. Я где-то читал, что IOS избавляется от ссылок Custom URL Scheme. К счастью, он по-прежнему поддерживает Universal App Links

...