看來,暫時的(我有資格說因爲Facebook似乎改變心血來潮他們的API響應),你可以得到AUTH_TYPE:重新認證後才能正常工作,如果您還指定權限( OAuth 2.0中的範圍參數)。看看這個例子:
http://www.fbrell.com/saved/a78ba61535bbec6bc7a3136a7ae7dea1
在這個例子中,單擊運行代碼,然後嘗試 「的FB.login()」 和 「的FB.login()與權限」 按鈕。兩者都編碼爲使用AUTH_TYPE:重新驗證,但只有後者實際上是給你的FB提示,一旦你登錄
以下是相關的例子:
// DOES NOT PROMPT
document.getElementById('fb-login').onclick = function() {
FB.login(
function(response) {
Log.info('FB.login callback', response);
},
{ auth_type: 'reauthenticate' }
);
};
// PROMPTS AS EXPECTED
document.getElementById('fb-permissions').onclick = function() {
FB.login(
function(response) {
Log.info('FB.login with permissions callback', response);
},
{ scope: 'offline_access', auth_type: 'reauthenticate' }
);
};
所以,答案是肯定的, auth_type:重新驗證是否可以工作,但只有在您還指定了有效的作用域參數時纔有效。 (是的,我嘗試了一個空的示波器,它的行爲與未使用示波器相同。)
這並不完成我所需要的。設置auth_type reauthenticate會呈現給用戶Facebook用戶名和密碼對話框,我們在執行某些操作之前使用它來提高安全性 –
然後,您可以定期註銷他,然後重新登錄他,這將顯示對話框,否? – Uri
如果註銷用戶所有生成的令牌將會失效,這可能會導致問題。 – ale500