2011-07-23 39 views
0

我正在爲我的網站構建一個API,並且遇到了問題。我希望我的用戶能夠使用API​​「登錄」他們的帳戶,但我的網站不使用用戶名/密碼系統,它使用Twitter的API和cookie /會話進行身份驗證。我試圖想到允許用戶使用API​​發佈數據而不危及安全性的最佳方式。基本上我需要一種方法來確保用戶是他們在應用程序中表示他們的人。通過API對用戶進行寫入訪問進行身份驗證

我想到的一個想法是讓用戶創建一個密碼,用於通過API中的方法「登錄」。發送適當的憑據(Twitter用戶名和他們選擇的密碼)到這個方法將返回一個令牌,它將與他們的賬戶相關聯。更進一步,我可以將令牌(本質上是一個API密鑰)設置爲非活動狀態,並讓API還返回一個密碼,該密碼也將與用戶的帳戶相關聯。然後,用戶必須在網站上登錄他們的個人資料並輸入密碼,這將激活他們的令牌並允許他們使用API​​進行發佈。

我想讓用戶變得簡單,但我不希望潛在危及其他用戶的安全。任何人都可以提出一個更好的方式來做這樣的事情,或者讓我知道,如果我建議的方式會是一個很好的做法嗎?

+0

你通常如何決定哪個用戶是哪個?你完全依賴Twitter的Oauth? – deceze

+0

我首先檢查是否存在具有會話值的cookie,如果cookie不存在,則用戶未登錄。如果確實存在,我檢查數據庫中的會話表是否匹配,如果找不到匹配項,則用戶未登錄,如果存在匹配項,則驗證其他一些內容並獲取與會話鏈接的用戶信息,並且用戶登錄。在用戶不是的任何事件中登錄後,我向他們展示了一個登錄鏈接,將他們重定向到Twitter的身份驗證服務器,並向我發送一個值,允許我創建會話並將其登錄。 – HaLo2FrEeEk

回答

0

驗證/授權,IMO是您需要創建的獨立應用程序層。它通常稱爲:ACL。

與您最近的問題相關,我建議您使用oAuth實現或一些HTTP認證。

相關問題