我的应用程序向 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 向用户显示他们正在验证的帐户?