2013-07-26 26 views
0

我一直在創建API和消費者,通過遵循Aaron Kuzemchak的Laravel的簡單API開發。成功通過我的客戶通過API進行身份驗證後,我遇到了問題;我不知道如何檢查它,如果消費者已經成功登錄或沒有在其他頁面...Laravel 4 [API]我如何檢查我是否已經從消費者登錄?

例如,在第一個;我顯示登錄頁面,點擊提交按鈕,通過API檢查憑證。登錄嘗試正在工作,登錄成功並重定向到儀表板。但是,如果我沒有登錄並從URL訪問儀表板,我得到了儀表板:O

API服務器和客戶已分離機器,並且數據庫僅存在於API服務器。

  • 我正在做這個權利(與API和消費者的流量)?
  • 對於消費者,我如何才能知道用戶是否已經登錄(在成功嘗試憑證後)? (不知何故?someidea?)

之前謝謝... :)

回答

0

這個問題很混亂,可能是因爲我沒有看過然而這截屏,但不Auth::check()應該是你是什麼尋找?這將返回true或false取決於用戶是否登錄

+0

它看起來像海報要對背面進行身份驗證一些品種的端點API –

+0

auth :: check()只能在API服務器上進行,不能完成,因爲:API使用會話作爲數組,因此當來自客戶端的下一個請求,會話已經結束並且auth :: check()將始終返回false ... – tahara

0

只是爲了確保:

  • 您已從本教程建立一個後端API張貼在這裏:http://kuzemchak.net/blog/entry/laracon-slides-and-video
  • 你如上面的教程中所描述
  • 你建立一個(消費者)前端的Web用戶界面在單獨的服務器上使用HTTP基本身份驗證
  • 你的用戶界面使用基於表單的認證(登錄表單)

後端API使用HTTP基本身份驗證(並且消費者爲每個請求的用戶發送一個API密鑰)。因此,後端不會跟蹤正在登錄的用戶。這意味着您的用戶界面將需要執行此操作。

您可以正常使用Laravel Auth類,但您的前端通常可以訪問數據庫,並且捆綁的身份驗證驅動程序可以檢查用戶名/密碼。

我說你的選擇是:用戶在會話中使用會話類(感覺有點討厭,但簡單)

  • 寫認證的驅動程序,然後使用驗證

  • +0

    因此,API發送用戶詳細信息(登錄成功後),前端將它們存儲在本地會話中,並且在從前端到API的每個請求中,它都會帶來一些會話進行處理? – tahara

    相關問題