2013-08-28 22 views
2

所以我有這個ASP.NET MVC 4網絡應用程序,行爲非常像一個Web服務。客戶端發送請求,Web服務返回一個JSON對象。現在我到了必須從Android應用程序驗證用戶身份的地步。在客戶端執行此操作的正確方法是什麼,因爲我不再有Web瀏覽器來存儲Cookie以供我對服務器進行身份驗證。 SSL已經被照顧。

我一直在想幾個直接的方法來進行身份驗證,但我擔心有一些我可能不知道的安全漏洞。

我可以將用戶憑據(用戶名和密碼)存儲在安裝該應用程序的Android手機上的SQLite數據庫中,然後將這些憑證和每個請求一起發送到服務器進行身份驗證? (當然,我在考慮將密碼存儲在數據庫之前進行哈希處理)。

這種方法不安全嗎?其他應用程序通常如何通過其服務進行身份驗證:如eBay,Facebook等?正確的方式來從Android的網絡服務進行身份驗證

+0

你也應該使用SSL – Christoph

+1

當然可以。這已經被照顧了。 – AxiomaticNexus

回答

2

保存在私有存儲中的數據相對安全(至少在非根設備上)。這包括:

如果你想與客戶經理更好地整合(例如,爲了在設備的設置中列出的帳戶),你可以寫一個AccountAuthenticator。見Creating a Custom Account TypeWrite your own Android Authenticator。不清楚eBay和Facebook,但這正是Firefox Sync和Evernote所做的。

1

您可以使用OAuth 2 - 很多教程和實現都可用。