请求正文无效 - JSON 在 IBM MobileFirst 8.0 中 WLAuthorizationManager.obtainAccessToken 的映射失败
Invalid request body - JSON mapping failed for WLAuthorizationManager.obtainAccessToken in IBM MobileFirst 8.0
我正在使用 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 控制台中创建。
如有任何帮助,我们将不胜感激。谢谢!
iFix 8.0.0.0-MPFF-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.0.1 之前的版本)一起使用。 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
或
将服务器升级到最新版本。
我正在使用 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 控制台中创建。
如有任何帮助,我们将不胜感激。谢谢!
iFix 8.0.0.0-MPFF-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.0.1 之前的版本)一起使用。 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
或
将服务器升级到最新版本。