android AccountManager用于什么?

时间:2011-12-30 19:30:32

标签: android

我需要一些帮助来了解客户经理为我们提供的服务。我有一个Web服务,需要使用令牌。例如,如果开发人员想要使用我的api,他们会使用以下网址:

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

开发人员使用oauth检索令牌“abc”。因此,现在任何发布使用我的API的应用程序的开发人员都必须让他们的用户通过oauth流程为他们的应用程序获取他们自己的令牌。

Android客户经理是否解决了这个问题?开发人员是否可以查询客户经理以查看用户是否已经过去认证,并重用该中心位置的任何令牌?我不知道这是如何工作的,以Facebook为例。他们创建了自己的单点登录模块。他们可能希望为使用它们的每个第三方应用程序提供不同的跟踪令牌。每个第三方应用都会请求一组不同的权限。我不知道android客户经理支持其中任何一个。

所以我很好奇为什么facebook会创建自己的sso支持而不是使用AccountManager来处理这个问题。还不确定我在这里是否有AccountManager的用例,也许它有一个完全不同的用例。

谢谢

1 个答案:

答案 0 :(得分:1)

自从我上次看到这个以来,可能已经发生了变化,但是

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

AccountManager是通过那里注册您的帐户apis的方式。然后,帐户将显示在菜单中的“帐户和同步”中。你会用

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