ckan - 从 JavaScript 验证/登录到 CKAN
问题描述
我正在制作一个使用 ckan.js api 从 ckan 读取数据的 javascript 客户端。这在访问不需要身份验证的数据时工作得很好。
我发现如果我提供 API 密钥,我可以进行经过身份验证的调用。但是如何从 javascript 进行身份验证/登录以便获取 API 密钥?在文档中说
调用需要授权的 API 函数时,您必须通过在 HTTP 请求中提供 API 密钥来验证自己。要查找您的 API 密钥,请使用其 Web 界面登录 CKAN 站点并访问您的用户个人资料页面。” http://docs.ckan.org/en/latest/api/#authentication-and-api-keys
看来我必须手动登录才能获取 API 密钥。
这将不起作用,因为我正在制作的 javascript 客户端没有使用 ckan 接口。
有没有人有关于如何解决这个问题的提示?
解决方案
目前,CKAN API 认证使用的唯一内置机制是通过 API 密钥。这意味着您的客户端用户需要向您的客户端提供他们的 API 密钥。用户可以通过 Web UI 登录 CKAN 并访问他们的个人资料来获取他们的 API 密钥。根据客户端的安全上下文,客户端可能会存储该 API 密钥,这样用户就不必一直重新输入他们的密钥。
CKAN 允许您使用插件自定义身份验证,因此可以实现其他身份验证方案。但是,这些仅适用于安装并启用了相应插件的 CKAN 实例。
例如,ckanext-oauth2支持通过 OAuth2 进行身份验证。但是,我没有使用该插件的经验,也不知道它是否还支持 API 调用的 OAuth2 身份验证,或者仅支持 Web UI。
推荐阅读
- android - 自定义警报对话框中的中性按钮
- c++ - How to use pinout with esp8266 from C file?
- text - 如果文本溢出,则替换文本
- c++ - 通过 C++ 中的另一个结构成员访问结构
- android - CircleCI 构建失败,因为 Google-Services.json 不存在
- python - AttributeError:“PhotoImage”对象没有属性“_PhotoImage__photo”
- sql-server - SQL Server 中的更新统计信息步骤失败
- mongodb - 如何使用 MongoDB 实现以下目标
- android - 在 LinearLayout 内部居中
- set - 解集之间没有重叠元素的最小集覆盖