私のアプリは Facebook からの認証を要求します。ユーザーが既に Facebook にログインしており、Facebook にログインしていたユーザーが既にアプリを承認している場合に問題が発生することがわかりました。Facebook は、ログインしているユーザーを使用してアプリを認証し、ユーザーに認証対象者を通知しません。複数の Facebook アカウントを持つユーザーがいますが、これが問題を引き起こしていました。これは、人々が気付かないうちに間違ったアカウントを認証していたためです。クエリ文字列に auth_type=reauthenticate を追加することで、この問題を修正しました。
Facebook によると、auth_type=reauthenticate パラメーターは常にユーザーにパスワードの再入力を要求します: https://developers.facebook.com/docs/reauthentication/
残念ながら、特定のアカウントでは auth_type=reauthenticate パラメーターが機能しません。ほとんどのユーザーはパスワードの入力を求められますが、一部のユーザーは既にアプリを承認している場合にパススルーされます. 一部のユーザーでは auth_type=reauthenticate パラメーターが機能するのに、他のユーザーでは無視される理由はないようです。その値を無視するユーザーは、常にそれを行います。
私が使用している認証 URL は次のとおりです。
https://www.facebook.com/dialog/oauth?client_id=[my_client_id]&redirect_uri=[my_redirect_uri]&display=popup&auth_type=reauthenticate&response_type=code%20token&scope=publish_stream,manage_pages,offline_access
([my_client_id] と [my_redirect_uri] を私の値に置き換えて)
すべてのユーザーにパスワードを再入力させる方法はありますか、または Facebook に認証しているアカウントをユーザーに表示させる他の方法はありますか?