Ibm mobilefirst ios设备上的IBM Mobilefirst 8 ChallengHandler问题

Ibm mobilefirst ios设备上的IBM Mobilefirst 8 ChallengHandler问题,ibm-mobilefirst,Ibm Mobilefirst,我目前正在使用IBMMobileFirstPlatform 8.0。和Datapower作为反向代理服务器 我已经实现了中给出的挑战处理程序 对于iPhone7 Plus和iPhone6 Plus来说,一切都很好,但每当我在其他iPhone(iPhone6或iPhone6S)上运行应用程序时,下面的方法就永远不会被调用- dataPowerChallengeHandler.canHandleResponse = function(response) { if (!response || re

我目前正在使用IBMMobileFirstPlatform 8.0。和Datapower作为反向代理服务器

我已经实现了中给出的挑战处理程序

对于iPhone7 Plus和iPhone6 Plus来说,一切都很好,但每当我在其他iPhone(iPhone6或iPhone6S)上运行应用程序时,下面的方法就永远不会被调用-

dataPowerChallengeHandler.canHandleResponse = function(response) {

if (!response || response.responseText === null) {
    return false;
}
var indicatorIdx = response.responseText.search('j_security_check');

if (indicatorIdx >= 0) {
    return true;
}

return false;
})

Plus和其他iPhone有什么区别吗

我使用的是MFP平台版本-8.0.0.00-20170131-101344

XCode版本8.0


ios 10.0版

我不记得这里有任何特定的已知问题w.r.t Iphone版本

为了进一步帮助您,您能否澄清以下内容

  • 你试过博客上的样本了吗? 2.能否从datapower gateway共享wireshark跟踪,以及您是否看到设备之间的流量有任何差异

  • 您看到问题所在的设备是否运行不同版本的操作系统?网络捕获显示了什么——显示服务器端的请求和响应的捕获。根据Datapower日志,线索就在那里。来自iPhone7 Plus设备的请求将转到api/preauth/v1/preauthorize,但来自iPhone6的请求将转到api/registration/v1/self。为什么会有这种差异?最初我在下面调用函数-WLAuthorizationManager.OcctainAccessToken(userLoginChallengeHandler.securityCheckName)。然后调用函数(accessToken){WL.Logger.debug(“OcctainAccessToken onSuccess”);},函数(response){WL.Logger.debug(“OcctainAccessToken onFailure:”+JSON.stringify(response));});您是第一次在这两台设备上运行应用程序吗?或者是一台设备已经安装了,而另一台是最近安装的,请查看Datapower日志。来自iPhone7 Plus设备的请求将转到api/preauth/v1/preauthorize,但来自iPhone6的请求将转到api/registration/v1/self。为什么会有这样的差异?就像vivin更新了一样,第一次从设备登录时会调用注册。否则,对于后续登录(在成功注册时),将调用preAuth。根据您的解释,似乎调用了失败的场景注册,如果成功,您将看到一篇预授权文章。所以我们需要看到注册响应