header 和 cfhttpparam 类型的 cookie 之间的区别
Difference between header and cookie for cfhttpparam type
我正在开发一个 ColdFusion 应用程序,该应用程序向 SharePoint Online 进行身份验证并使用 SharePoint 的 REST API 提取一些文件,如 http://paulryan.com.au/2014/spo-remote-authentication-rest/
中所述
当我尝试通过发布到 _api/contextinfo 来获取 FormDigestValue 时,如果我将 cfhttpparam
类型设置为 cookie,我会收到 403 禁止,但是如果我将 cookie 作为 header 一切传递有效,但我不明白为什么。
<cfhttpparam
type="header"
name="cookie"
value="rtFa=#rtFa#;FedAuth=#FedAuth#"
/>
有效但
<cfhttpparam
type="cookie"
name="rtFa"
value="#rtFa#"
/>
<cfhttpparam
type="cookie"
name="FedAuth"
value="#FedAuth#"
/>
失败
查看正在发生的事情的最佳方法是检查流量并查看正在发生的事情。除此之外,我知道 cfhttpparam
标签使用 header
类型和 cookie
类型的区别在于 URL 编码。
当您使用 header
类型时,值是 未 URL 编码。
当您使用 cookie
时,键入值 是 URL 编码的。
所以我的猜测是他们的 API 不喜欢 URL 编码的值。
我正在开发一个 ColdFusion 应用程序,该应用程序向 SharePoint Online 进行身份验证并使用 SharePoint 的 REST API 提取一些文件,如 http://paulryan.com.au/2014/spo-remote-authentication-rest/
中所述当我尝试通过发布到 _api/contextinfo 来获取 FormDigestValue 时,如果我将 cfhttpparam
类型设置为 cookie,我会收到 403 禁止,但是如果我将 cookie 作为 header 一切传递有效,但我不明白为什么。
<cfhttpparam
type="header"
name="cookie"
value="rtFa=#rtFa#;FedAuth=#FedAuth#"
/>
有效但
<cfhttpparam
type="cookie"
name="rtFa"
value="#rtFa#"
/>
<cfhttpparam
type="cookie"
name="FedAuth"
value="#FedAuth#"
/>
失败
查看正在发生的事情的最佳方法是检查流量并查看正在发生的事情。除此之外,我知道 cfhttpparam
标签使用 header
类型和 cookie
类型的区别在于 URL 编码。
当您使用 header
类型时,值是 未 URL 编码。
当您使用 cookie
时,键入值 是 URL 编码的。
所以我的猜测是他们的 API 不喜欢 URL 编码的值。