目标 c - 使用 device_id 预授权请求正文

问题描述

一个额外的 device_id,因为我将 IBM 框架升级到最新版本。 我可以知道无论如何可以将它从我的请求正文中删除吗? 因为它会导致 400 个错误的请求。

{ "client_id": "84q113475-ffac-4a17-bf1b-be666369e097","范围": “身份验证”、“device_id”: "esBoCz0yTHEa87iQirsdMqWJoVRsVc-XHqhf3tOCBXsTOoojcWgiASfaUeFYsxgMnTmGhW3M8EMiDM5Z7WvhpXw==","challengeResponse": { "Authenticate": { "username": "USER1","密码": "WuPydyRBXUQ6pbNKhhoe2EklOruf2BcB4E8=","deviceid": "0C35D8C7-763B-45AC-B229-DF01AEAD519B" } } }

解决方法

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

原生 Android 应用

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

原生 iOS 应用

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

Cordova 应用

  • 在项目的 <widget>config.xml 部分下添加以下行。 <mfp:SDKProtocolVersion>1</mfp:SDKProtocolVersion>

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

,

这是因为您已将 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.