簡體   English   中英

我需要在Android應用程序中使用PHP會話嗎?

[英]Do I need to use PHP sessions in my Android app?

我創建了一個與PHP Web服務器通信的Android應用程序。 它們都互相發送JSON。 我的應用程序快要完成了,但是還有一件事要做:身份驗證。

由於用戶的用戶名和密碼將存儲在Android SharedPreferences中,因此鑒於用戶無需在每次請求時都輸入用戶名/密碼,是否有必要使用PHP會話?

由於我可以為每個請求僅在HTTP POST標頭中發送用戶名和密碼,並且我將使用SSL,這就足夠了嗎? 我想我可以在標頭中添加一個名為“ random”的額外字段,該字段僅添加一個隨機值,用作鹽,以便每次加密的SSL有效負載都不同。

我不想使用會話的原因是我的Android應用要么必須處理Cookie,要么需要管理會話ID的存儲。

如果上面使用我的方法有一些嚴重的弊端,那么我很樂意使用會話。

就個人而言,我反對每次在請求中發送用戶名和密碼。 您可以做的一件事是在登錄時生成一個唯一的ID,並將其存儲在服務器上的數據庫中,然后僅傳遞該ID而不是用戶名和密碼。

我相信您現在擁有的一切都會很好。 只要您確保安全地轉移了用戶信息。 鹽是個好主意。 這實際上取決於您想要的安全性。

在每個請求中發送帳戶憑據是非常不好的做法。 我認為使用Google OAuth2 API的更好方法-比本地帳戶數據庫非常簡單和安全。 您考慮過這種選擇嗎?

我認為Google對此提出了很多想法,因此做與他們所做的類似的事情並不是一個壞主意。 如果你看他們做事的方式

  • 登錄過程,即https://accounts.google.com/o/oauth2/auth

特別是他們的

  • 令牌刷新,即https://accounts.google.com/o/oauth2/token

可能聽起來有些矯kill過正,但是您可能會想到一些對您自己的實現有價值的想法。

編輯:糟糕,幾乎忘記了文檔鏈接: https : //developers.google.com/accounts/docs/OAuth2

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM