0

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

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

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

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

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

感谢您的时间

4

1 回答 1

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)
于 2015-03-04T11:24:03.657 回答