2015-11-06 176 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