プライベート ネットワーク ( 192.168.0.0
~の IP 範囲192.168.255.255
) 内のコンピューターで実行されている開発サーバー (Java サーブレット コンテナー) があります。この開発サーバーは、統合テスト環境を実行します。このテスト環境には、独自の Facebook アプリ ID があります。範囲内でサーバーを実行すると192.168.x.y
、同僚が Web サイトをテストしたり、Facebook アカウントでローカル Web サイトにログインしたりできます。
https://developers.facebook.com -> Facebook アプリの設定 -> [基本設定] の下にある -> [Facebook ログインを使用する Web サイト] フィールドに を設定しhttp://192.168.2.106:8080
ました。これは、アドレスとポートの組み合わせであるためです。私の開発サーバーはにバインドします。
DHCP のおかげで、私のコンピュータの IP アドレスはわずかに異なります192.168.2.109
。サーバーを起動してから Facebook API 関連 (Facebook ログインなど) を実行しようとすると、Facebook から次のエラー メッセージが表示されます。
{
"error": {
"message": "Invalid redirect_uri: Given URL is not allowed by the Application configuration.",
"type": "OAuthException",
"code": 191
}
}
Facebookアプリで「Facebookログインを使用したIPアドレスのWebサイトの範囲」を許可する方法はありますか? 他にどのような解決策を提案できますか?
私の同僚は、自分のプライベート ネットワーク アドレスを使用して、自分のマシンで開発サーバーを起動することもできます。したがって、同じ Facebook アプリ ID は、異なる IP アドレスを持つ異なるマシンで動作し、プライベート ネットワーク内のすべてのユーザーが引き続きアクセスできます。
「Website with Facebook Login」を設定localhost
すると、開発サーバーは、それが実行されている同じマシンでのみ使用できるようになります。残念ながら、これにより同僚はこの開発サーバー インスタンスにアクセスできなくなります。
アップデート
提出されたバグ: https://developers.facebook.com/bugs/606277079382609