Google認証アクセストークンを確認するにはどうすればよいですか?
どういうわけかGoogleにクエリを実行して質問する必要があります:[与えられたアクセストークン]は[example@example.com] Googleアカウントに対して有効ですか?
短いバージョン:Google認証API
を介して提供されるアクセストークンがどのように使用できるかは明らかです。特定のアクセストークンが特定のGoogleアカウントに対して有効かどうかを確認する方法は明確ではありません。方法を教えてください。
長いバージョン:
トークンベースの認証を使用するAPIを開発しています。トークンは、有効なユーザー名とパスワードを提供するか、N個の検証可能なサービスのいずれかからサードパーティのトークンを提供すると返されます。
サードパーティのサービスの1つはGoogleで、ユーザーは自分のGoogleアカウントを使用して自分のサービスに対して認証を受けることができます。これは後で拡張され、Yahooアカウント、信頼できるOpenIDプロバイダーなどが含まれるようになります。
Googleベースのアクセスの概略図:
代替テキストhttp://webignition.net/images/figures/auth_figure002.png
「API」エンティティは私の完全な管理下にあります。「公開インターフェース」エンティティは、ウェブベースまたはデスクトップベースのアプリです。一部のパブリックインターフェイスは私の制御下にあり、他のインターフェイスはそうではなく、他のインターフェイスはまだ私が知ることすらありません。
そのため、ステップ3でAPIに提供されたトークンを信頼できません。これは、対応するGoogleアカウントのメールアドレスとともに提供されます。
どういうわけかGoogleにクエリを実行して質問する必要があります:このアクセストークンはexample@example.comに対して有効ですか?
この場合、example @ example.comはGoogleアカウントの一意の識別子、つまり誰かが自分のGoogleアカウントにログインするために使用するメールアドレスです。これはGmailアドレスであるとは限りません。誰かがGmailアカウントを持っていなくてもGoogleアカウントを持つことができます。
Googleのドキュメントには、アクセストークンを使用して、さまざまなGoogleサービスからデータを取得する方法が明記されています。そもそも、特定のアクセストークンが有効かどうかを確認する方法については何も述べられていないようです。
更新 トークンはN個のGoogleサービスで有効です。特定のユーザーが実際に使用しているすべてのGoogleサービスのサブセットがわからないため、トークンを検証する手段としてGoogleサービスに対してトークンを試すことはできません。
さらに、Googleの認証アクセストークンを使用してGoogleサービスにアクセスすることは決してありません。Googleの想定ユーザーが実際に本人であることを確認する手段としてのみです。これを行う別の方法がある場合、私は試すことができてうれしいです。