2011-12-30 28 views
1

私はアカウントマネージャーが私たちに提供しているものを理解する助けが必要です。私は使用のためにトークンを必要とするWebサービスを持っています。android AccountManagerは何のために使用されますか?

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

トークン「ABC」はOAuthを使って開発者によって取得されます。開発者は私のAPIを使用したい場合たとえば、彼らはのようなURLを使用します。だから今私のAPIを使用するアプリをリリースする開発者は、oauthの流れを通って自分のアプリケーションのトークンを取得する必要があります。

アンドロイドアカウントマネージャがこれを解決していますか?開発者は、アカウント管理者に問い合わせて、ユーザーが過去に認証を受けているかどうかを確認し、その中央の場所にあるトークンを再利用できますか?私はこれがどのように動作するか見ていない、Facebookを例に取る。彼らは独自のシングルサインオンモジュールを作成しました。そして、おそらく、彼らは、追跡のために別のトークンを使用する各サードパーティのアプリケーションに与えることを望んでいるでしょう。そして、各サードパーティのアプリケーションは、異なるアクセス権のセットを要求します。私はアンドロイドアカウントマネージャーがそれをサポートしているかどうかはわかりません。

なぜ、facebookがこれを処理するためにAccountManagerを使用するのではなく、独自のssoサポートを作成するのか不思議です。 AccountManagerのユースケースが正しいかどうかはわかりませんが、まったく別のユースケースがあります。

は、私が最後にこれを見たので、

答えて

1

が変更されているかもしれないが、

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

のAccountManagerがあって、あなたのアカウントのAPIを登録するために行く方法です。ありがとうアカウントは、メニューの「アカウント&同期」に表示されます。あなたは

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は本当に2つの方が優れています。もちろん、AccountManagerに表示されるサービスからトークンを取得することもできます。 –

関連する問題