1

我正在尝试使用 OAuth 对 Gmail IMAP 服务器进行 2 条腿授权,如https://developers.google.com/gmail/oauth_protocol中所述。我遇到了麻烦,在响应 AUTHENTICATE XOAUTH 命令时获得“无效凭据”。

显然我的代码中有很多潜在的错误点,但我相信我已经正确完成了 SHA1 生成、URL 编码、Base64 编码。我现在的具体问题是关于如何将我的应用程序标识为允许使用 2LO。本文档(https://developers.google.com/accounts/docs/OAuth#GoogleAppsOAuth) 表示第三方软件供应商必须向 Google 注册他们的应用程序才能使用 2LO,并且域管理员必须向这些供应商授予访问权限。但是,我已经尝试了一个商业应用程序来执行此操作,并且我在任何时候都不需要授予对它的访问权限,只需向它提供我的域的消费者密钥和秘密。它工作正常。(尽管如此,我进入了 Google Apps 控制台并选中了“启用此使用者密钥”和“允许访问所有 API”)。

在 IMAP XOAUTH 协议中,我会在哪里告诉它我的应用程序是什么?我看到的唯一地方是“XOauth_requestor_id”参数。是这样吗?我在那儿放什么?我尝试了从 Google API 控制面板获取的电子邮件地址和其他各种值,但没有任何效果。

您可以提供的任何帮助或示例(所有输入数据和生成的 base64 编码输出)将不胜感激。

4

0 回答 0