2012-09-21 85 views
0

使用Symfony 2.0和FOSOAuthServerBundle實現API Rest,我遇到了一些麻煩。FOSOAuthServerBundle - 授權碼已過期

我已經全部配置好了。我有一個正確創建的客戶端,我試圖通過網絡瀏覽器來測試這個東西(儘管最終的目標是使用iOS應用程序的API表單)。

這些步驟如下:

  1. 獲取授權碼:一切順利,我得到插入到數據庫中的授權碼和發動機返回。完美
  2. 獲取令牌:這裏是問題出現的地方。生成代碼(上一步)時,會分配一個expiresAt字段。當我走到這一步

    public function hasExpired() { if ($this->expiresAt) { return time() > $this->expiresAt; } }

它進行比較,並返回true,即代碼關閉(過期)。而且,正因爲如此,我得到在瀏覽器的情況如下:

{"error":"invalid_grant","error_description":"The authorization code has expired"} 

在此任何線索之前,我開始亂了這一切?

謝謝。

回答

0

好吧,算了吧。

問題就在於授權代碼的生成(第一步)和生成安全性令牌(第二步)之間的時間超過了30秒。這是因爲我正在調試它,看看發生了什麼。

對不起。我希望這可以幫助任何人。