2012-06-11 25 views
0

我在玩Facebook-API。對於認證,用戶將被髮送到oauth對話框。在允許訪問後,用戶的瀏覽器被重定向到facebook應用程序設置中指定的地址。我們要求scope = offline_access和response_type = token,所以post-auth重定向包含一個有效的訪問令牌。 到目前爲止,這麼好。 現在我的問題:是否有可能沒有用戶交互重新請求此訪問令牌? (例如:服務器沒有趕上從OAuth的對話框後-AUTH請求)Facebook重新請求訪問令牌可能嗎?

感謝任何近代啓蒙:-)

回答

1

首先,offline_access已經過時 - 在這裏看到更多的細節:https://developers.facebook.com/roadmap/offline-access-removal/。你現在可以得到的最多是60天的令牌。

回答您的問題 - 無法在沒有用戶交互的情況下請求訪問令牌 - 爲什麼我們需要登錄對話框?

+0

假設一個過期的令牌(60天后++),有什麼我的應用程序做的就是一個新的令牌?重新顯示oauth對話框? – Sascha

+1

如果您使用FB.login/init對話框,並且用戶在您的60天令牌過期之前登錄 - 那麼您將透明地獲得新的短期令牌,您可以交換新的長壽命令牌。所以用戶不會看到oauth對話框(當然,他還沒有刪除你的應用程序)。在這裏看到更多(場景4):https://developers.facebook.com/roadmap/offline-access-removal/和這裏:https://developers.facebook.com/docs/authentication/client-side/(檢查「 init的SDK的狀態爲:true,以便在初始化時檢查用戶的身份驗證狀態「part) – avs099

+0

到目前爲止,還沒有人理解。我試圖找到的是創建與Facebook進行交互的應用程序的某種「最佳實踐」。我見過的所有解決方案都必須捕獲oauth後重定向以獲取auth令牌。回顧一下:已經通過身份驗證的應用程序無法訪問用戶已經授予權限的信息? – Sascha