1

比較的新しい X-OAUTH2 メカニズムを使用する Google トーク用の XMPP クライアントを実装しています。サービスへの認証のためにユーザー名またはパスワードを保存する必要はないと考えました。ただし、X-OAUTH2 認証に関する Google のドキュメント<auth>には、これが最初の要求であると記載されています。

<auth xmlns="urn:ietf:params:xml:ns:xmpp-sasl"
    mechanism="X-OAUTH2"
    auth:service="oauth2"
    xmlns:auth="http://www.google.com/talk/protocol/auth">
  base64("\0" + user_name + "\0" + oauth_token)
</auth>

トークンとともに「user_name」を送信する必要があることに注意してください。私がここに欠けているものはありますか?または、アプリケーションでユーザー名を要求する必要がありますか? (ユーザーはすでに OAuth2 経由でログインしており、アクセス トークンを受け取っていることに注意してください)

クライアントがユーザー名を提供する必要がある OAuth を使用する他のサービスを知りません。たとえば、この同じアプリは、XMPP でユーザー名を提供する必要なく、XMPP と OAuth2 を介して Facebook チャットに接続できます。

4

1 に答える 1

2

アプリケーションでユーザー名を要求する必要はありません。「SCOPE」パラメータを「https://www.googleapis.com/auth/userinfo.email」として指定するだけです。これを参照してください。これにより、トークンとともに、応答でユーザーの電子メール ID が提供されます。

このリンクには、Google アカウントの認証と承認に関する詳細な説明があります。ユーザー名と電子メール ID は、アプリケーションで使用できる getUserInfo() 関数で返されます。

于 2013-01-16T14:31:38.987 に答える