2016-12-06 25 views
2

我正在使用Auth0在Google Ionic應用程序中使用Google實現社交登錄。在彈出模式下使用Auth0鎖

我已經設置redirect選項等於false根據documentation這打開了一個新標籤。

現在,當我設置redirect等於true(默認),則按照文件應該顯示在彈出的登錄窗口,但我收到以下錯誤:

Refused to display ' https://accounts.google.com/AccountChooser?continue=https://accounts.google ….com%26from_login%3D1%26as%3D-13354ff19852788a&btmpl=authsub&scc=1&oauth=1' in a frame because it set 'X-Frame-Options' to 'DENY'

我知道,因爲我試圖在localhost裏面打開這個,這就是我得到這個錯誤的原因。但是我怎樣才能在我的本地環境中測試這個功能呢?

回答

1

根據​​如果將redirect選項設置爲false(覆蓋默認值true)將觸發使用彈出窗口模式。

redirect - Defaults to true. When set to true, redirect mode will be used. If set to false, popup mode is chosen.

Use of the popup mode可以導致新的標籤頁或窗口,而使用默認重定向模式使用當前窗口重定向到身份提供者被打開。

使用redirect=true時獲得的錯誤似乎表明您在應用程序中使用了iframe,並且您嘗試從iframe內執行身份驗證。谷歌身份提供商不支持谷歌在迴應中暗示的X-Frame-Options: DENY。 (這個頭文件要求瀏覽器在iframe內導航失敗)

總之,這個錯誤不是由Lock直接引起的。

+0

我不想使用應用內瀏覽器向用戶顯示登錄窗口。我想要顯示彈出窗口。我怎樣才能實現這個功能比使用Auth0 –

+0

彈出模式的觸發器是通過使用'redirect = false'來實現的。正如文檔中所述,這可能導致打開**新標籤**或**窗口**;你的問題是,它打開一個新的標籤,而不是一個窗口? –

+0

實際上它打開了一個新標籤,我希望它在一個彈出窗口中打開。 –