IBM Mobile Foundation v8" Access Disabled"过度访问令牌有效期?

时间:2017-01-25 02:01:18

标签: ibm-mobilefirst

据我所知,Console的Management选项卡中的Application Access控件(例如Access Disabled)用于控制访问受保护资源的应用程序,并发现该功能实时适用于适配器过程调用和安全框架相关调用(例如Login)。

然而,相同的功能似乎并没有应用于"实时"在应用开始时使用的obtainAccessToken()调用应用,作为第一个API调用。

一旦令牌过期(换句话说,当需要更新令牌时),就会阻止访问应用程序(即使使用API​​调用)。

[UPDATE]

  • 将MFPStarterCordova iOS应用与 cordova-plugin-mfp 8.0.2016122615" IBM MobileFirst Platform Foundation"
  • 一起使用
  • 场景:启动应用程序并获得令牌。然后为应用程序设置远程禁用,然后单击" Ping MobileFirst Server"按钮,无需重新启动应用。 (我可能不清楚术语"实时"上面,但我指的是这种情况 - 即没有重新启动应用程序 - 作为实时..

这是正常行为吗?不适用于obtainAccessToken() API的实时应用访问控制吗?

1 个答案:

答案 0 :(得分:0)

更新

根据您的情况:

  

场景:启动应用程序并获得令牌。然后为应用程序设置远程禁用,并单击“Ping MobileFirst Server”按钮,而不重新启动应用程序。 (我可能不清楚上面的“实时”一词,但我指的是这种情况 - 即没有重新启动应用程序 - 作为实时...

虽然看起来第一个obtainAccessToken可以继续执行(直到其令牌过期),但这并不重要,因为一旦设置了远程禁用,尝试访问任何受保护资源都将失败。

那就是说,我们正在研究它,但这似乎不是问题。

在我的测试中,当使用obtainAccessToken API作为第一个使用的API时,应用程序无法访问服务器。

但请注意,您没有提及您是在测试本机应用程序还是Cordova应用程序,也没有提到平台。

在我的测试中,我使用了Cordova入门示例,该示例可以从MobileFirst Operations Console的下载中心获得。我使用的是Android平台。

方案:

  1. 首先,我远程禁用了该应用程序。然后我第一次启动了应用程序并点击按钮获取令牌。此操作按预期失败。

  2. 首先我启动了应用程序并获得了一个令牌。然后我远程禁用它并再次启动它并尝试获取令牌。操作失败了。

  3. 如果上述情况不是您测试过的情景,请使用缺失的信息更新问题。

    插件列表:

    • cordova-plugin-device 1.1.4“设备”
    • cordova-plugin-dialogs 1.3.1“通知”
    • cordova-plugin-globalization 1.0.5“全球化”
    • cordova-plugin-mfp 8.0.2016122615“IBM MobileFirst Platform Foundation”
    • cordova-plugin-okhttp 2.0.0“OkHttp”
    • cordova-plugin-splashscreen 3.2.2“Splashscreen”
    • cordova-plugin-whitelist 1.3.1“Whitelist”

    平台列表:

    • android 6.1.1