FB は、Windows Phone の Web ブラウザー コントロールを検出したときに、リダイレクト スクリプトにいくつかの変更を加えたようです。
C# SDK が行うことは、ログイン ページを " http://www.facebook.com ...." として生成することです。この URL を Web ブラウザー コントロールで開くと、" http://m.facebook.com ..." にリダイレクトされ、FB ログイン ページのモバイル バージョンが表示されます。
これは以前は問題がありませんでしたが、最近、FB がリダイレクトを行うときに、URL からパラメーター「display=page」も取り除きます。FB ログインが成功すると、このパラメータなしで「login_success.html」ページが開かれます。「display=page」パラメータが渡されない場合、デフォルトで「display=touch」になります。残念ながら、この URL は URL にトークン文字列を追加しないため、最初のスレッドに表示されたページが表示されます。
これに対する解決策は、以下のコードを使用してログイン URL を生成する代わりに、次のように修正することです。
オリジナル:
Browser.Navigate(_fb.GetLoginUrl(parameters));
修正:
var URI = _fb.GetLoginUrl(parameters).toString().replace("www.facebook.com","m.facebook.com");
Browser.Navigate(new Uri(URI));