Hom*_*lli 2 authentication zimbra
我正在使用 Zimbra 提供的 REST API,定期(以编程方式)轮询我的 Zimbra 电子邮件服务器上的消息。
根据文档,我需要通过查询字符串传递 zauthtoken,才能成功检索数据。
唯一的问题是文档没有提到如何获取或创建 zauth_token,这意味着我无法做任何事情。
我已经广泛搜索了 Zimbra 文档和在线,但我似乎无法找到任何显示如何创建或获取身份验证令牌的内容。
有谁知道我如何获取/创建身份验证令牌,以便我可以以编程方式访问收件箱中的电子邮件?
小智 6
我将假设您是最终用户而不是邮件服务器的管理员。您要查找的令牌是一个名为 ZM_AUTH_TOKEN 的 cookie,它通常会在用户登录时设置。也就是说,您不需要使用令牌身份验证通过 API 访问您的收件箱;您可以通过在请求中提供您的用户名/密码来轻松进行身份验证(例如,使用 curl 的--user选项)。如果您真的特别需要令牌,这里有一个如何使用 curl 生成它的示例:
curl --user 'your-username-here:your-password here' 'https://your-zimbra-server-here.com/home/your.account.name@your-zimbra-server-here.com/Inbox/?fmt=sync&auth=sc' -c 'where-you-want-to-save-your-cookie-file'
Run Code Online (Sandbox Code Playgroud)
这是一个非常简单的 curl 命令,但我想强调一些 Zimbra 特定的位: URL 末尾的查询 ( ?fmt=sync&auth=sc) 对检索您要查找的令牌至关重要。该auth=sc部分强制 Zimbra 返回一个 auth cookie。该fmt=sync会在技术上是任何有效的格式,但你必须指定的东西; 我选择了同步,因为它实际上并不查找任何电子邮件数据,因此应该比返回电子邮件数据的命令完成得更快。
一旦 curl 命令完成,您就会将 ZM_AUTH_TOKEN cookie 保存到您在-c选项后指定的任何文件中。然后,您可以将此 cookie 的值作为zauthtokenREST 查询 URL 中的值传递,它们将正确进行身份验证,而无需您提供任何其他格式的凭据:
curl 'https://your-zimbra-server-here.com/home/your.account.name@your-zimbra-server-here.com/Inbox/?auth=qp&zauthtoken=0_your-zauth-token-always-starts-with-zero-and-an-underscore-dont-append-an-additional-one-this-is-just-an-example'
同样,如果您已经在使用 curl,这有点毫无意义,因为您可以只使用该--user选项,但如果您需要以其他没有类似功能的方式访问 URL,它可能会有所帮助。如果您必须使用令牌,请注意,每次当前的 cookie/令牌过期时,您都必须生成一个新的 cookie/令牌。
| 归档时间: |
|
| 查看次数: |
4875 次 |
| 最近记录: |