8

アクセストークンOAuth2.0を使用して削除する場合、簡単に言うと、次を使用する場合の違いは何ですか。

AccountManager.getAuthToken ("oauth2:https...userinfo.profile")

およびGooglePlayの使用:

GoogleAuthUtil.getToken(mActivity, mEmail, mScope)

どちらもユーザー向けのチャレンジ画面を作成していることを理解しているので、GooglePlays画面の方がユーザーフレンドリーです。アクセストークンは同じスコープを持つことができますか?!両方の呼び出しは非同期である必要があります。InvalidateTokenは、両方の呼び出しでチェックする必要があるようです。

ここに画像の説明を入力してください ここに画像の説明を入力してください

4

1 に答える 1

24

OAuth2.0認証にGooglePlayサービスを使用することについては知りませんでしたが、それをざっと見てみると、かなり面白く見え、AccountManager.getAuthTokenよりも使用したほうがいいと思います。

主な違い

AccountManager.getAuthToken

プロ:

  • すべてのAndroid2.0デバイス以降で使用できます。
  • Androidに組み込まれており、個別のSDKは必要ありません。
  • Googleだけでなく、オーセンティケーターを持つすべてのタイプのアカウントに使用できます。

短所:

  • 有効期限が切れている可能性のあるトークンを返すため、常にトークンを無効にして、有効なトークンがあることを確認するために再度要求する必要があります。
  • 権限GET_ACCOUNTSおよびUSE_CREDENTIALSが必要です。
  • チャレンジ画面はAndroid2ではユーザーフレンドリーではありません。*

GoogleAuthUtil.getToken

プロ:

短所:

  • Android 2.2が必要であり、デバイスにGooglePlayが搭載されていること
  • アプリにGooglePlayサービスSDKをダウンロードして含める必要があります。
  • GoogleAPIコンソールにアプリを登録する必要があります
  • OAuth2.0を使用するGoogleサービスに「のみ」使用できます

チャレンジ画面の比較

ジンジャーブレッドとアイスクリームサンドイッチのAccountManager.getAuthTokenチャレンジ画面

ジンジャーブレッドのgetAuthTokenチャレンジ画面 アイスクリームサンドイッチのgetAuthTokenチャレンジ画面

GoogleAuthUtil.getTokenチャレンジ画面

getTokenチャレンジ画面 getTokenチャレンジ画面、詳細

概要

GoogleAuthUtilアプローチは、はるかにユーザーフレンドリーなチャレンジ画面を備えており、インストール時に必要な権限が少ないため、可能な限り、AccountManager.getAuthTokenアプローチの代わりにこのアプローチを使用します。常に有効なトークンを取得し、トークンを無効にする手間をかける必要がないため、コードも単純になるはずです。

于 2013-01-17T08:06:21.607 に答える