2015-04-22 101 views
2

我試圖找出允許用戶在初始時間登錄應用程序的功能的正確術語,然後如果他們稍後打開相同的應用程序,並且它們的Cookie尚未過期,它將會自動登錄他們。我想在發佈之前嘗試一些研究,但我不確定如何在搜索引擎中提出我要求的內容。大聲笑。自動登錄應用程序

歡迎任何幫助。

謝謝。

回答

1

使用永久性Cookie

這是 最簡單的辦法。如果你是 連接到一個網站,有 服務器驗證用戶 他們第一次登錄,並 然後設置一個永久性的Cookie上 含有 (加密)隨機 128位的字符串用戶的手機,是與用戶的 帳戶關聯的 。以後每一次 用戶啓動應用 ,當它接觸 通過HTTP/HTTPS服務器, 客戶端將發送其 永久性的Cookie,其中 服務器可以使用驗證 客戶端。理想情況下,您需要使用 HTTPS並使用安全cookie。

使用公鑰認證。

這是比較棘手的解決方案。 您可以讓手機 應用程序生成其自己的 公鑰/私鑰對。當用戶登錄 時,應用程序可以發送 公鑰,而服務器 可以將公鑰 與該帳戶關聯。每個 隨後用戶 啓動應用程序時, 應用程序可以使用 私鑰對服務器本身進行身份驗證 。 舉例來說,如果你是 使用Web技術,你 可能具有客戶端 生成自簽名證書 ,連接到使用HTTPS服務器 ,並 使用 其客戶端證書驗證自己。你會 必須測試在Android上的web 意見支持 客戶端證書好。 另外,如果你 連接到服務器 使用自己的自定義 協議,隧道過來 SSL或TLS,並且使用SSL/TLS 的 客戶端證書的功能。

+0

這聽起來像你說我只需要將cookie寫入SD卡上的加密文件,並在OnResume()/ OnStart()嘗試使用存儲的cookie發出請求時,如果它工作意味着cookies仍然有效;否則重新認證。 – snapplex

+0

@snapplex - 取決於你的服務器端邏輯。如果他們支持服務器端會話,那麼你可以採取這種方式。 – user3091530

+0

@snapplex - 這是另一種方式...在成功登錄後,api必須爲您提供一個令牌,您可以將其作爲標頭字段附加,並且服務器端必須允許請求的有效性。令牌可以設計爲有效,直到用戶更改密碼爲止。如果用戶更改密碼和您的應用程序使用相同的標記,則API必須響應unAuthroised,並且必須提示用戶輸入用戶名和密碼並使用重新收集的令牌。 – user3091530