0

由于我将 IBM Framework 升级到最新版本,因此有一个额外的 device_id。我可以知道是否可以将其从我的请求正文中删除?因为它会导致 400 错误请求。

{ "client_id": "84q113475-ffac-4a17-bf1b-be666369e097", "scope": "Authenticate", " device_id": "esBoCz0yTHEa87iQIrSdMqWJoVRsVc-XHqhf3tOCBXsTOoojcWgiASfaUeFYsxgMnTmGhW3M8EMiDM5Z7WvhpXw==", "challengeResponse": { "Authenticate": { "username": "USER1", "密码": "WuPydyRBXUQ6pbNKhhoe2EklOruf2BcB4E8=", "deviceId": "0C35D8C7-763B-45AC-B229-DF01AEAD519B" } } }

4

2 回答 2

1

当移动应用程序尝试连接旧版本的 MobileFirst Foundation Server(之前的版本8.0.2020101311)时,会发生这种情况。PH30473 STRENGTHENING PRE-AUTH ENDPOINTMobileFirst 的最新 iFix完成了一些安全性增强( )。这要求服务器和客户端应用程序处于同一级别。但是,为了确保兼容性,SDK 可以设置一个标志以继续使用旧版本的服务器如果您无法升级服务器,作为兼容性措施,您可以选择使用较8.0.2020101412旧版本的较新的 SDK(版本或更高版本) Mobile Foundation 服务器(之前的版本8.0.2020101311)通过添加以下配置:

原生安卓应用

  • 将以下行添加到您的mfpclient.properties文件中: sdkProtocolVersion=1

原生 iOS 应用

  • 将以下条目添加到您的mfpclient.plist:
    • 名称 - sdkProtocolVersion
    • 类型 - 编号
    • 价值 - 1

Cordova 应用程序

  • <widget>项目的config.xml. <mfp:SDKProtocolVersion>1</mfp:SDKProtocolVersion>

注意:推荐的方法是将您的 MobileFirst Server 版本升级到最新版本并在 MFP 控制台中添加新版本的应用程序,并且不使用上述兼容性配置。

于 2020-12-21T09:37:28.897 回答
0

这是因为您已将 SDK 升级到最新版本,请在此处阅读更多详细信息:https ://mobilefirstplatform.ibmcloud.com/blog/2018/05/18/8-0-master-ifix-release/#features

IFix 8.0.0.0-MFPF-IF202010151343 introduces a breaking change with respect to compatibility with older versions of the Mobile Foundation server. If your app uses any of the following SDKs - Android, iOS or Cordova version 8.0.2020101412 or higher, it is necessary to upgrade your server version to 8.0.2020101311 or higher. This is necessitated by the APAR PH30473 STRENGTHENING PRE-AUTH ENDPOINT, which makes changes in the communication protocol between the Mobile Foundation SDKs and the Mobile Foundation server.
        If you are unable to upgrade your server, as a compatibility measure, you can choose to use the newer SDKs (version 8.0.2020101412 or higher) with an older version of the Mobile Foundation server (versions prior to 8.0.2020101311) by adding the following configuration:
        Native Android apps
        Add the following line to your mfpclient.properties file:
        sdkProtocolVersion=1
        
        Native iOS apps
        Add the following entry to your mfpclient.plist
        
        Name - sdkProtocolVersion
        
        Type - Number
        
        Value - 1
        
        
        
        Cordova apps
        Add the following line under the <widget> section of your project's config.xml.
        
        <mfp:SDKProtocolVersion>1</mfp:SDKProtocolVersion>
        The recommended approach is to upgrade the server and not use the compatibility configuration mentioned above.
于 2020-12-22T12:06:12.343 回答