无效的请求正文 - IBM MobileFirst 8.0 中 WLAuthorizationManager.obtainAccessToken 的 JSON 映射失败
Posted
技术标签:
【中文标题】无效的请求正文 - IBM MobileFirst 8.0 中 WLAuthorizationManager.obtainAccessToken 的 JSON 映射失败【英文标题】:Invalid request body - JSON mapping failed for WLAuthorizationManager.obtainAccessToken in IBM MobileFirst 8.0 【发布时间】:2021-05-04 06:52:29 【问题描述】:我将 Angular 与 IBM MobileFirst 8.0 结合使用。我遇到了 WLAuthorizationManager.obtainAccessToken() 的问题
我正在使用下面的代码。
WLAuthorizationManager.obtainAccessToken()
.then(
function (token)
console.log(token);
,
function (res)
console.log(res);
)
但是,我总是收到以下错误。
回应:
errorCode: "400"
errorMsg: "Bad Request"
responseHeaders: cache-control: "[no-store, no-cache, must-revalidate]", connection: "[close]", content-language: "[en-US]", content-security-policy: "[default-src 'self';]", content-type: "[application/json]", …
responseText: "\"Invalid request body - JSON mapping failed.\""
status: 400
statusText: "Bad Request
版本详情:
cordova-plugin-mfp:8.0.2021031007
ibm-mfp-web-sdk: 8.0.2021011205
项目已在 mfp 控制台中创建。
任何帮助将不胜感激。谢谢!
【问题讨论】:
服务器版本是多少? 【参考方案1】:iFix 8.0.0.0-MFPF-IF202010151343 在与旧版 Mobile Foundation 服务器的兼容性方面引入了一项重大更改。如果您的应用使用以下任何 SDK - android、ios 或 Cordova 版本 8.0.2020101412 或更高版本,则需要将您的服务器版本升级到 8.0.2020101311 或更高版本。
APAR PH30473 STRENGTHENING PRE-AUTH ENDPOINT 需要这样做,它会更改 Mobile Foundation SDK 和 Mobile Foundation 服务器之间的通信协议。
如果您无法升级服务器,作为兼容性措施,您可以选择将较新的 SDK(版本 8.0.2020101412 或更高版本)与旧版本的 Mobile Foundation 服务器(8.0.2020101311 之前的版本)一起使用通过添加以下配置:
原生 Android 应用 将以下行添加到您的 mfpclient.properties 文件中: sdkProtocolVersion=1
原生 iOS 应用 将以下条目添加到您的 mfpclient.plist
名称 - sdkProtocolVersion
类型 - 数字
值 - 1
Cordova 应用程序 在项目的 config.xml 部分下添加以下行。
mfp:SDKProtocolVersion1 推荐的做法是升级服务器,不要使用上面提到的兼容性配置。
网络应用:
在 wlInitOptions 中添加 sdkProtocolVersion : '1'
更多详情请看这里https://mobilefirstplatform.ibmcloud.com/blog/2018/05/18/8-0-master-ifix-release/#changes-in-this-ifix-4
解决您的问题:
将应用程序与新版本的应用程序连接 + 将 sdkProtocolVersion 设置为 1
或者
将服务器升级到最新版本。
【讨论】:
非常感谢!现在可以在添加以上是关于无效的请求正文 - IBM MobileFirst 8.0 中 WLAuthorizationManager.obtainAccessToken 的 JSON 映射失败的主要内容,如果未能解决你的问题,请参考以下文章
IBM Mobilefirst Java HTTP Adapter 中的多部分文件上传