我有一个 NAV 实例,它公开 (OData) Web 服务并配置为Windows
用作凭证类型。我能够使用NTLM成功地对这些 Web 服务进行身份验证。但是,我更喜欢使用 HTTP 基本身份验证来针对服务进行身份验证。我知道可以创建一个访问密钥进行身份验证。我知道如果我将基本身份验证用户名设置为 NAV 用户卡中的User Name
和密码Web Service Access Key
,我应该能够使用基本 HTTP 身份验证。NavUserPassword
我已经在其他配置为使用凭据类型的 NAV 实例上成功完成了此操作。但是,这不适用于具有Windows
凭证类型的实例。
更具体地说,如果我从NavUserPassword
实例请求受保护的资源,我会收到一个WWW-Authenticate
带有 value 标头的 401 Basic realm=""
。如果我对Windows
实例做同样的事情,我会得到一个WWW-Authenticate
带有 value 的标题NTLM
。这表明这不是提供错误密码的简单情况,而是 NAV 实例未配置为接受任何 Web 服务访问密钥的更复杂情况。
上的文档Web Services Authentication
似乎暗示对于 Windows 凭据类型,Web 服务的 HTTP 基本身份验证是不可能的,但这不是很明确,我不确定我是否正确解析了文档。
顺便说一句,上述文档表明 OAuth 也可以用作身份验证机制,但链接文档位于 PartnerSource 门户墙后面。如果在我的情况下 HTTP 基本身份验证不是一个选项,那么 OAuth 是一个选项吗?