2011-12-30 3 views
1

Мне нужна помощь, чтобы понять, что предлагает нам менеджер аккаунта. У меня есть веб-сервис, для которого требуется токен. Например, если разработчик хочет использовать свой API, они будут использовать URL, как:Для чего используется AccountManager для Android?

http://myservice.com/addfriend?name=john&token=abc 

Маркер «ABC» извлекается разработчиком с помощью OAuth. Итак, теперь любой разработчик, который выпускает приложение, использующее мой API, должен будет заставить своих пользователей проходить через поток oauth, чтобы получить свой собственный токен для своего приложения.

Решает ли администратор учетной записи android решить все это? Могут ли разработчики запросить у менеджера учетных записей, чтобы узнать, уже ли пользователь уже работал в прошлом, и повторно использовать любой токен в этом центральном месте? Я не вижу, как это будет работать, возьмите Facebook в качестве примера. Они создали свой собственный модуль единого входа. И они, вероятно, хотят предоставить каждому стороннему приложению, которое использует для них другой токен для отслеживания. И каждое стороннее приложение запрашивает другой набор разрешений. Я не знаю, что менеджер аккаунта Android поддерживает все это.

Так что мне любопытно, почему facebook создаст собственную поддержку sso вместо использования AccountManager для обработки этого. Также не уверен, что у меня есть примеры использования для AccountManager здесь, возможно, у него совершенно другой вариант использования.

Спасибо

ответ

1

Может измениться, так как я в последний раз видел это, но

AccountManager am = AccountManager.get(this); 
Account[] accounts = am.getAccountsByType("com.facebook.auth.login"); 
am.getAuthToken 

AccountManager это путь для регистрации вашего APIs счета через там. Затем учетные записи появятся в разделе «Учетные записи & Sync» в меню. Вы могли бы использовать

am.addAccount(String accountType, String authTokenType, String[] requiredFeatures, 
    Bundle addAccountOptions, Activity activity, 
    AccountManagerCallback<Bundle> callback, Handler handler); 

AndDev ссылка: http://developer.android.com/reference/android/accounts/AccountManager.html

+0

Мне любопытно, почему facebook имеет свою собственную реализацию SSO, хотя? Кроме того, в качестве стороннего разработчика мы должны иметь возможность получить токен от службы, такой как Twitter (которая появляется в диспетчере учетных записей)? – user291701

+0

FaceBook имеет обе версии. AccountManager действительно лучший из двух. И да, вы можете получить токены из любой службы, которая появляется в AccountManager. –

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