2017-03-03 39 views
0

我正在爲現有網站開發一個android應用程序,所以我開發登錄部分到一個android應用程序,我使用oAuth protocol.i爲用戶數據提供了API,並從網站生成了client_idclient_secret_key。問題是。如何在使用OAuth時在Android應用上存儲'client_secret'和'client_id'?

  • 如何存儲這些client_idclient_secret(在移動應用或任何支持的客戶端Web Service)
  • 當我使用支持客戶端的Web應用程序來存儲客戶端ID和祕密我如何驗證用戶身份。

該網站建立在larevel php框架上。

+0

你爲什麼不使用string.xml保存數據? – sadat

+0

不,它是不安全的方式..時下使用支持的Web客戶端存儲數據..但事情是我沒有關於它是如何工作 – cpk

回答

0

要回答你的第一個問題,請使用共享首選項。共享首選項允許您以鍵值對的形式保存和檢索數據。 第二個問題,從共享首選項中讀取並將結果發送回Web服務器。檢查是否存在數據,然後獲取該值,驗證它並相應地發送它。我建議使用這個真棒圖書館作爲您的questions.retrofit2獎金。

+0

謝謝你的help.i引用它..是共享偏好是非常安全的方法對於存儲有價值的數據?..沒有任何關於使用另一個後端客戶端存儲客戶端ID和其他東西的想法。 – cpk

+0

是什麼?我沒有得到最後一部分。 – Remario

+0

我的意思是將這些數據存儲在另一個網站和應用程序與該網絡應用程序通信,並交換令牌。 – cpk

0

如果您想要安全地將id保存在應用程序中,您可以使用Keystore。

KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType()); 

// get user password and file input stream 
char[] password = getPassword(); 

java.io.FileInputStream fis = null; 
try { 
    fis = new java.io.FileInputStream("keyStoreName"); 
    ks.load(fis, password); 
} finally { 
    if (fis != null) { 
     fis.close(); 
    } 
} 

https://developer.android.com/reference/java/security/KeyStore.html

+0

@Michal感謝您的寶貴意見,我會參考它,這是非常安全的方式來存儲數據。任何人都可以解碼的apk和可以獲得文件easy.no有關使用另一個後端Web客戶端的任何想法? – cpk

+0

這與用於保護Play商店中的應用免受冒充的機制相同。如果它不安全,那麼這將是一個嚴重的問題。它被加密。即使他們擁有密鑰庫,他們仍然需要密碼。密碼不保存在應用程序內。 –

相關問題