【问题标题】:Docebo X-Authorization parameterDocebo X-授权参数
【发布时间】:2015-09-09 05:51:53
【问题描述】:
大家好,我正在尝试调用 Docebo 的 REST API,但我发现很难理解它的方法。基本上,调用 API 需要您在请求标头中放置一个 X-Authorization 参数。关于实现这一点的 Docebo 文档只是一个阅读起来非常混乱的段落。此处已提出并回答了类似的问题:
Docebo - constructing authorisation header
我阅读了代码,但无法完全理解解释,因为代码很少,而且代码对我来说很难理解。我有两个问题-
1)什么是X-Authorization参数?
2)如何计算 X-Authorization 参数以添加到请求标头以调用 Docebo API?
详细解释代码的工作原理会很棒!提前致谢!
【问题讨论】:
标签:
api
rest
authorization
【解决方案1】:
嘿,我终于想通了。
什么是 X-Authorization 参数?
这是必须添加到请求标头的参数。此标头用于验证对 API 的调用,服务器首先检查此参数以了解调用是否来自受信任的来源。这种具有自定义 X- 标头的请求称为预飞行请求,要求发送者首先发送 HTTP OPTIONS 请求。服务器以可以执行的允许操作列表进行响应。只有当origin(of the sender)被允许有特定的header/有权访问服务器资源时,请求才会真正被执行。
如何计算 X-Authorization 参数以添加到请求标头以调用 Docebo API?
如下:
首先查看 Docebo 的 API 文档,了解您要调用的特定 API。它将具有调用所需的参数列表。然后,您需要准备好来自 docebo 的 API 密钥,因为它们都用于生成此 X-Authorization 参数。然后按以下步骤操作:
1)假设您有 n 个调用需要的参数。请执行以下操作:
括号之间的以下字符串的 SHA1 编码 - (param-1,param-2,param-3 .....param-n,secretKey)。不要忘记逗号!取此步骤生成的 SHA1 哈希,继续执行步骤 2
2)括号之间的以下字符串的 UTF-8 base64 编码-
(PublicKey:hash from step 1).再一次,不要忘记冒号!您将获得一个字母数字字符串。
3) X-Authorization 参数是 - Docebo 代码(注意 Docebo 和代码之间的空格)。
4)在发送前在请求头中添加名为X-Authorization的参数,您将收到响应。
希望这会有所帮助..