0

У меня есть приложение, которое выполняет вход в систему и регистрацию на сервере.Android Authenticator и FB

Примечание: Мне нужно сделать логин/авто-логин каждый раз, когда пользователь открывает приложение.

Теперь я хочу добавить логин/регистрацию с помощью fb.

В настоящее время я использую диспетчер аккаунта android с пользовательским аутентификатором, где я сохраняю почту и пароль. Если пользователь входит в систему с fb, у меня не будет пароля для сохранения в учетной записи: мне нужно сохранить что-то другое или оставить это поле пустым? В последнем случае, если я добавлю еще одну систему авторизации как Twitter, как узнать, к какой системе принадлежит пользователь?

Говоря о сервере, какие данные мне придется отправить для аутентификации пользователей Fb? Я думал о паре электронной почты/ид, но это не кажется слишком сильным для меня ...

Спасибо за ваше время

ответ

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 или входа в систему. посмотреть на oauth2

Также стоит обратить внимание, что вам не хватает точки, если ваши пользователи должны войти в систему каждый раз, когда приложение запускается

Чтобы сохранить пользовательские данные в AccountManager использования:

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

Я Ждут» я упоминаю SP намеренно, я не могу поверить, что нет системы для сохранения всех данных учетной записи пользователя в диспетчере учетных записей. Я говорил о логине и AUTOlogin. Мне нужно каждый раз проверять подлинность пользователя на моем сервере, чтобы обновить токен GCM для push-уведомлений. –

+1

Я не понимаю ваш комментарий. если вы не хотите использовать SP, тогда вы должны упомянуть об этом в своем вопросе. вы можете сохранить пользовательские данные в AccountManager, используя 'public static final String KEY_USERDATA =" userdata ";' – royB

Смежные вопросы