Android认证器和FB

Android认证器和FB,android,facebook-authentication,android-authenticator,Android,Facebook Authentication,Android Authenticator,我有一个应用程序,可以进行规范的电子邮件/密码登录并注册到服务器 注意:每次用户打开应用程序时,我都需要进行登录/自动登录 现在我想添加fb的登录/注册 目前,我正在使用android帐户管理器和一个自定义验证器来保存邮件和密码。如果用户使用fb登录,我将不会在帐户中保存任何密码:我必须保存其他内容,否则我会将该字段留空?在后者中,如果我添加另一个身份验证系统作为Twitter,我如何知道用户属于哪个系统 说到服务器,我需要向它发送哪些数据来验证Fb用户?我考虑过这对夫妇的电子邮件/身份证,但对

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

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

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

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

说到服务器,我需要向它发送哪些数据来验证Fb用户?我考虑过这对夫妇的电子邮件/身份证,但对我来说似乎不太强烈

谢谢你抽出时间

我如何知道用户属于哪个系统

使用SharedReferences保存用户所属的系统:

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用户

为什么不发送
访问令牌

如果用户使用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)

我不是故意提到SP的,我不能相信没有一个系统可以将所有用户帐户的数据保存在帐户管理器中。我谈到了登录和自动登录。我需要在每次更新推送通知的GCM令牌时对服务器上的用户进行身份验证。我不理解您的评论。如果你不想使用SP,那么你应该在问题中提到它。您可以使用
public static final String KEY\u USERDATA=“USERDATA”将用户数据保存在AccountManager中