0

OAuth認証に問題があります。つまり、OAuth認証は通常のブラウザでは正常に動作しますが、LINEやFacebookのメッセンジャーなどのサードパーティのアプリのウェブビューでは機能しません。サードパーティのアプリのウェブビューで起こることは、ユーザーが「googleでログイン」をクリックすると、即座にエラーページ403のエラー:「disallowed_useragent」が表示されます。 (これは、自分のWebアプリケーションへのリンクをMessenger経由で友人に送信しようとしたときに発生します。友人がリンクをクリックすると、Messengerは自分のWebアプリケーションをWebビューで開きます。 then)Firebase Oauthはサードパーティのアプリのウェブビューでユーザエージェントを許可していません

したがって、私はいくつかの検索を行い、GoogleがウェブビューでOAuth認証を非推奨にしていることを発見しました。ここにはLINKがあります。

私の質問は: ウェブビューが検出された場合、ユーザーに強制的に通常のブラウザを開くことはできますか? これを回避するにはいくつかの方法がありますか?

私はこれにFirebase認証を使用しています。すべてのコードでFirebase SDKを認証用firebase-auth.jsとfirebase.jsに使用します。

+0

に動作します。 私は、唯一の解決策がFacebook自身にあるのではないかと心配しています。 Googleが提案するものだけを使用するオプションがあります。 AndroidのChromeカスタムタブやiOSのSFSafariViewControllerなど、一部のオペレーティングシステムで利用可能な最新の「アプリ内ブラウザタブ」パターンは、ブラウザベースのOAuthフロー。 私は誰かがこれのための創造的な解決策を見つけることを願っています。 – shgutman

+0

@shgutman yea、私はこれについて行き詰まっていると思う。 :(悲しい.. – pupuupup

答えて

0

GoogleはWebviewsとiframeからの認証を制限しています。Safari Webkit.ifを使用すると、Safariユーザーエージェントでユーザーエージェントを上書きできます。 それは意志一度これを試して、私は同じ問題に苦しんでいますこんにちは、

webView.getSettings().setUserAgentString("Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36"); 
+0

あなたの答えについての説明を追加してもよろしいですか? –

+1

誤ったユーザーエージェントは、認証用のfirebaseポリシーに違反しています:(... – pupuupup

関連する問題