2015-11-06 51 views
2

如果我想將從服務器檢索到的令牌存儲在我可以從我的代碼中的任何位置訪問它的位置,以繼續將其作爲json頭髮送到我的服務器,我應該在哪裏存儲它?有什麼其他的建議,你可以給我使用令牌認證?令牌身份驗證Android Studio

回答

7

將它存儲在應用程序的私人SharedPreferences似乎是安全的,並讓它成爲一個靜態幫手。 只有你的應用程序才能訪問這個。

from Android API documentation

文件創建模式:默認模式,在創建文件只能通過調用應用程序(或共享相同的用戶ID的所有應用程序)進行訪問。

package net.rouk1.helper; 

import android.content.Context; 
import android.content.SharedPreferences; 

public class TokenSaver { 
    private final static String SHARED_PREF_NAME = "net.rouk1.SHARED_PREF_NAME"; 
    private final static String TOKEN_KEY = "net.rouk1.TOKEN_KEY"; 

    public static String getToken(Context c) { 
     SharedPreferences prefs = c.getSharedPreferences(SHARED_PREF_NAME, Context.MODE_PRIVATE); 
     return prefs.getString(TOKEN_KEY, ""); 
    } 

    public static void setToken(Context c, String token) { 
     SharedPreferences prefs = c.getSharedPreferences(SHARED_PREF_NAME, Context.MODE_PRIVATE); 
     SharedPreferences.Editor editor = prefs.edit(); 
     editor.putString(TOKEN_KEY, token); 
     editor.apply(); 
    } 

} 
+0

感謝,僅有1點更多的問題,這些方法要求一個方面,是應用程序方面? like ..'PrefsSaver tokensaver = new PrefsSaver();tokensaver.setToken(getApplicationContext(),user.getToken()); –

+0

是的,應用程序的上下文或者只是您當前的活力。 – rouk1