【问题标题】:Implementing OAuth2 with Socrata API使用 Socrata API 实现 OAuth2
【发布时间】:2016-11-09 03:39:04
【问题描述】:

我正在实施Socrata API 以便能够解析来自City of Chicago open data set 的公开可用数据。我真的只是关心数据本身,所以我最初并不认为我需要通过通过 ngrok 公开的应用程序来实现 OAuth2 才能获取数据。

我最初的尝试是接受他们文档中提到的 GET 请求,并尝试通过 Postman 获得响应。

以下是此类尝试的示例:

我还在查询字符串中添加了我的 Socrata App Token 作为参数,但显示了相同的消息。

所以我告诉自己,好吧,也许他们在不让客户端通过 OAuth2 的情况下弃用了 GET 请求。如果他们不弃用这些 GET 请求,我宁愿不必处理 OAuth2,但我开始实施身份验证过程并且一切顺利,直到我找到以下说明 here

除了“authorization_type”之外,我拥有需要包含在该 POST 请求中的每个值。这是从哪里来的?我尝试将“authorization_type”作为字符串保留,但收到的响应类似于此问题顶部图片中的“无效的用户名或密码”消息。

【问题讨论】:

    标签: authentication oauth-2.0 postman socrata soda


    【解决方案1】:

    您是否仅从芝加哥的数据门户访问公共数据集?从您的屏幕截图看来,您正在尝试访问公开的Building Permits dataset

    身份验证是only required for modifying datasets or accessing private data,因此很有可能您甚至不需要进行身份验证。只需在您的请求中包含 application token 即可用于限制目的。

    很高兴帮助您了解 OAuth 工作流程,但听起来可能没有必要。

    【讨论】:

    • 感谢克里斯的快速回复!我尝试在 GET data.cityofchicago.org/resource/ydr8-5enu.json? 的标头中包含 'X-App-Token': ,但我仍然收到身份验证失败响应,其中包含与第一张图片中相同的消息。有什么想法吗?
    • @AdamFreyymiller - 重复我上面所说的,如果您只是在该公共数据集上执行 GET 请求,则根本不需要包含任何 Authorization 标头。听起来您仍然包含不必要的 Authorization 标头,因为如果您包含带有错误应用程序令牌的 X-App-Token 标头,您会收到 Invalid app_token specified 错误。
    • 你说得对!我删除了 Authorization 标头,它就像一个魅力。
    猜你喜欢
    • 2017-11-29
    • 2020-04-16
    • 2016-07-03
    • 1970-01-01
    • 1970-01-01
    • 2016-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多