簡體   English   中英

Firebase + Ionic3錯誤:disallowed_useragent

[英]Firebase + Ionic3 Error: disallowed_useragent

關於此主題還有其他一些問題/答案,但是他們沒有將Firebase與Ionic一起使用。 我剛剛切換到新的Ionic View,現在,在舊的Ionic View中,我的應用程序可以正常工作,而新的Ionic View給我這個眾所周知的錯誤:

403錯誤-那是一個錯誤。 錯誤:disallowed_useragent不允許其用戶代理向Google發出OAuth授權請求,因為它被歸類為嵌入式用戶代理(也稱為網絡視圖)。 等等等等等等

在我的代碼中,我注入了Firebase AuthProvider並使用angularfire2進行連接,它看起來像

  private getProvider(from: string): AuthProvider {
  switch (from) {
    case 'twitter': return new firebase.auth.TwitterAuthProvider();
    case 'facebook': return new firebase.auth.FacebookAuthProvider();
    case 'github': return new firebase.auth.GithubAuthProvider();
    case 'google': return new firebase.auth.GoogleAuthProvider();
  }
}

  signIn(from: string) {
    this.afAuth.auth.signInWithPopup(this.getProvider(from))
. . .

再次,這在瀏覽器或舊的Ionic中效果很好,但在新的Ionic View中卻不起作用。 我確實有一個具有常規OAuth連接的相當大的庫,但是我認為使用Firebase的重要原因之一是我們將不再需要使用這些庫並自行管理用戶。

是否可以通過Ionic在iOS / Android應用上進行Firebase身份驗證?

嘗試這個

ionic cordova build android --minifycss --optimizejs --minifyjs

為我解決

您應該按照本文中的說明進行操作。 我認為不支持signInWithPopup方法,而應嘗試使用signInWithRedirect

我設法通過將以下內容添加到config.xml來修復disallowed_useragent錯誤:

<preference name="OverrideUserAgent" value="Mozilla/5.0 Google" />

我強烈建議您在實際設備上運行此程序,因為Ionic View應用程序在本機插件等方面存在很多問題。

命令行界面

ionic cordova run android --prod --device

要么

ionic cordova run ios --prod --device

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM