我有一个应用程序,它可以进行规范的电子邮件/密码登录并注册到服务器。
注意:每次用户打开应用程序时,我都需要进行登录/自动登录。
现在我想用fb添加登录/注册。
目前我正在使用安卓帐户管理器和自定义身份验证器,我保存邮件和密码。如果用户使用fb登录我将无法使用任何密码保存在帐户中:我必须保存其他内容,否则我会将该字段留空?在后者中,如果我将另外的auth系统添加为Twitter,我怎么知道用户属于哪个系统?
说到服务器,我必须发送哪些数据来验证Fb用户?我想到了这对夫妇的电子邮件/身份证,但对我来说似乎并不太强烈......
感谢您的时间
答案 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)