OAuth [Facebook / Twitter] Всплывающее окно не открывается, когда я нажимаю на Social Icons + Ionic + Firebase
Я следовал этой статье, чтобы создать OAuth для Ionic App с Firebase в качестве бэкэнда. Был в состоянии вызвать приложение в Ionic Lab и социальные иконки были видны. Но когда я нажимаю на любую иконку, ничего не происходит.
Просто знайте, что мой код использует cordova-plugin-inappbrowser
и у меня очень минимальные знания об этом. Я кроме всплывающего окна Facebook или Twitter, чтобы показать, когда я нажимаю на соответствующие значки, но это просто не кажется.
Я вижу следующие ошибки в консоли:
Когда я нажимаю на иконку Facebook:
Refused to display 'https://www.facebook.com/login.php?
skip_api_login=1&api_key=150011636022826…
&display=popup&locale=en_US&logger_id=fe62445f-81aa-405e-b35f-
80f8fd220707' in a frame because it set 'X-Frame-Options' to 'DENY'.
Когда я нажимаю на значок Twitter:
Refused to display 'https://api.twitter.com/oauth/authenticate?
oauth_token=nSzk7gAAAAAAuTInAAABV456ulg' in a frame because an ancestor
violates the following Content Security Policy directive: "frame-ancestors
'self' https://tweetdeck.twitter.com https://tdapi-
staging.smf1.twitter.com https://tdapi-staging.atla.twitter.com
https://tweetdeck.localhost.twitter.com".`
Что мне сделать, чтобы исправить это?
Когда я делаю вручную ionic serve
приложение загружается в браузер, и когда я нажимаю на значок Facebook, я могу перенаправить страницу на страницу входа в Facebook.
PS: мне всего один день до этой Ionic Framework.
1 ответ
Нашел решение и опубликовал его, так как это может помочь другим:
Ссылка GITHub, откуда я клонировал проект. Затем перейдите в файл www / js / controllers.js, где $scope.login()
метод присутствует в DashCtrl
,
Auth.$authWithOAuthRedirect(authMethod).then(function(authData) {
console.log(authData);
})
Это был фрагмент кода, который создавал проблему, поскольку он пытается перенаправить на другую страницу, и он отлично работает в браузерах, но не работает в app/ionic лаборатории или чем-то еще.
Вместо этого сделайте это, если ваша работа зависит от версии приложения Ionic:
Auth.$authWithOAuthPopup(authMethod).then(function(authData) {
// after successfully logging in the user - do your magic stuff here
console.log(authData);
});