Android身份验证器和FB

时间:2015-03-04 10:59:46

标签: android facebook-authentication android-authenticator

我有一个应用程序,它可以进行规范的电子邮件/密码登录并注册到服务器。

注意:每次用户打开应用程序时,我都需要进行登录/自动登录。

现在我想用fb添加登录/注册。

目前我正在使用安卓帐户管理器和自定义身份验证器,我保存邮件和密码。如果用户使用fb登录我将无法使用任何密码保存在帐户中:我必须保存其他内容,否则我会将该字段留空?在后者中,如果我将另外的auth系统添加为Twitter,我怎么知道用户属于哪个系统?

说到服务器,我必须发送哪些数据来验证Fb用户?我想到了这对夫妇的电子邮件/身份证,但对我来说似乎并不太强烈......

感谢您的时间

1 个答案:

答案 0 :(得分:0)

  

我怎么知道用户属于哪个系统

使用SharedPreferences以保存用户所属的系统:

public static int TWITTER_ACCOUNT = 0;
public static int FB_ACCOUNT = 1;
onLogin(){
   if(fb){
         SharedPreferences sp = getSharedPreferences(context);
         sp.edit().putString(PREF_ACTIVE_ACCOUNT, FB_ACCOUNT).apply();
   }
}
  

我必须向其发送哪些数据来验证Fb用户

为什么不发送access_token

  

如果用户使用fb登录我将无法在帐户中保存任何密码

只需保留访问令牌即可。您应该使用fb访问令牌从FB获取数据或登录到您的系统。看看oauth2

另请注意,如果您的用户每次启动应用时都需要登录,那么您就错过了这一点

要在AccountManager使用中保存用户数据:

public void setUserData(final Account account, final String key, final String value) 
public String getUserData(final Account account, final String key)