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