比較的新しい 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 チャットに接続できます。