调用 WLAuthorizationManager.obtainAccessToken 时,具有状态"201"和错误消息"Created"的失败响应



环境:

  1. 视窗服务器 2012 R2
  2. JRE 1.8.0_101
  3. IBM WAS Liberty Core 8.5.5.5
  4. IBM MFP 8.1
  5. Apache Web 服务器

我们已经在上述环境中建立了UAT。我们已经在服务器上部署了我们的应用程序,部署了用于用户身份验证的适配器和一个用于获取数据的资源适配器。

当我们在没有安全性(不受保护)的情况下调用适配器过程时,应用程序正在获取数据。但是,当我们尝试使用默认作用域或自定义作用域调用适配器过程而不是触发质询处理程序时,我们会收到错误状态为"201"和错误消息"已创建"的失败响应。

另一个观察结果是,当使用默认作用域或push.mobileclient调用WLAuthorizationManager.ObtainAccessToken时,它会给出相同的失败响应,错误状态为"201"和错误消息"已创建"。相同的应用程序在开发环境中运行良好。

当我尝试使用https://domain:port/mfp/api/az/v1/token从邮递员获取令牌并传递范围、grant_type和必要的授权标头时,它正在提供带有令牌的有效响应。但是当我们尝试通过获取令牌时,该应用程序会给出失败响应。

故障响应

{"status":201,"statusText":"Created","responseText":"","responseHeaders":{"connection":"Keep-Alive","content-language":"en-US","content-length":"0","date":"Fri, 17 May 2019 05:42:45 GMT","keep-alive":"timeout=5, max=100","location":"/mfp/api/registration/clients/1e746550-e804-4ee7-88ba-b99896qqqqpwo","server":"Apache/2.4.39 (Win64) OpenSSL/1.1.1b","via":"1.1 ","x-powered-by":"Servlet/3.0"},"errorMsg":"Created","errorCode":"201"}

201 不是/token 终结点预期的响应代码。这很可能来自拓扑中的中间元素。您已经提到 Apache Web 服务器作为配置的一部分 - 这是发送 201 吗?

此外,来自服务器的实际响应显示"server":"Apache/2.4.39 (Win64) OpenSSL/1.1.1b"

所以,这是你可以做的

a. 尝试绕过 Web 服务器,看看是否可以解决问题 - 很有可能,它应该。

b. 验证 Apache Web 服务器的配置设置,以查看返回 201 的原因。

派对迟到了,但对于仍然遇到此错误的任何人:

安装以下临时修订:8.0.0.0-MFPF-IF202006151151

这为我解决了错误。似乎是MobileFirst中的一个错误,花了我很长时间才找到。

最新更新