我正在尝试使用授权的应用程序编写脚本来更新各种数据集上的元数据。使用 OAuth 似乎是错误的方法(它不是一个面向 Web 的应用程序供其他用户自己使用),并且传递我自己的用户名和密码似乎......很恶心。
SODA API 身份验证文档非常混乱:
所有经过 HTTP 基本身份验证的请求都必须通过安全 (https) 连接执行,并且应该包含一个应用程序令牌,该令牌是在您注册应用程序时获得的。但是,身份验证 [原文如此,应该是“应用程序”?] 对请求进行身份验证时,令牌并不是严格要求的。通过不安全连接发出的经过身份验证的请求将被拒绝。
这是一个使用 HTTP 基本身份验证的示例 HTTP 会话:
POST /resource/4tka-6guv.json HTTP/1.1 Host: soda.demo.socrata.com Accept: */* Authorization: Basic [REDACTED] Content-Length: 253 Content-Type: application/json X-App-Token: [REDACTED]
所以:
- 你甚至可以使用应用令牌 + 秘密令牌来通过 HTTP 基础进行身份验证吗?
- 两个“[REDACTED]”中的哪一个是应用令牌,哪个是秘密令牌?
我的猜测(基于一些测试)是答案是:
- 不
- 第一个“[REDACTED]”是base64版本的username+password,第二个是application token,和认证无关。