在Twitter中,我可以像这样对他们的REST API进行HTTP调用:
https://twitter.com/oauth/authenticate?force_login=true&oauth_token= .....
即使用户已登录Twitter,也会强制用户登录。
Facebook有一种类似于JS SDK的机制,https://developers.facebook.com/docs/howtos/login/client-side-re-auth/
但普通REST API中没有'& auth_type = reauthenticate'选项的痕迹:
http://developers.facebook.com/docs/reference/dialogs/oauth/
有人知道它是隐藏还是不存在?
答案 0 :(得分:3)
您可以在服务器端身份验证中使用auth_type = reauthenticate,就像在JS中一样。
$dialog_url = "https://www.facebook.com/dialog/oauth?client_id="
. $app_id . "&redirect_uri=" . urlencode($my_url) . "&state="
. $_SESSION['state'] . "&scope=user_birthday,read_stream&auth_type=reauthenticate&auth_nonce="
. $_SESSION['nonce'];
了解更多:
https://developers.facebook.com/docs/howtos/login/server-side-re-auth/
它为您提供了一个非常好的文档,说明如何使用它,以及必要的代码。您还可以检查$_SESSION['nonce']
发送和接收的内容是否相同。