0

There is an extra device_id since im upgrade IBM Framework to latest. May i know is there anyway to remove it from my request body? Because it cause 400 bad request.

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

2 Answers2

1

This happens when the mobile application is trying to connect with the older version of MobileFirst Foundation Server(versions prior to 8.0.2020101311). There were some security strengthening done(PH30473 STRENGTHENING PRE-AUTH ENDPOINT) with the latest iFix of MobileFirst. This requires the server and client application to be at the same level. However, to ensure compatibility , the SDK can set a flag to continue working with an older server If you are unable to upgrade the 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>

Note: The recommended approach is to upgrade your MobileFirst Server version to latest and add a new version of an app in MFP Console and not use the compatibility configuration mentioned above.

Vittal Pai
  • 3,317
  • 25
  • 36
  • Finally a new error mesage appear!! There is a mismatch between SDK version used for this application. If you upgraded the SDK, please create a new application version. But im just clone the version, am i need to create instead clone? – Thing Thing Dec 21 '20 at 10:06
  • yes, create new version instead of clone. – Vittal Pai Dec 21 '20 at 10:17
0

This is because you have upgraded SDK to the latest version for more details read here : 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.