为什么 isCustomResponse 没有被第二次调用?

why is isCustomResponse is not called the second time?

我定义了一个 Challenge Handler,

var AuthRealmChallengeHandler = WL.Client.createChallengeHandler("AuthRealm");

AuthRealmChallengeHandler.isCustomResponse = function(response) {
    //returns true or false
};

单击登录按钮后,我向适配器发送请求:

var resourceRequest = new WLResourceRequest(
            "/adapters/AuthAdapter/getSecretData", WLResourceRequest.GET,
            30000);
resourceRequest.send().then(getSecretData_CallbackOK,
            getSecretData_CallbackFail);

但是,关闭应用程序后,重新启动并再次按下登录按钮,不会再次调用 isCustomResponse。为什么会这样?

我已经检查过 isUserAuthenticated returns 是真的,但是它仍然没有调用 isCustomResponse:

WL.Client.updateUserInfo();

if (WL.Client.isUserAuthenticated("AuthRealm")) {

}else{

}

除了评论中提到的更改项目设置外,回答剩下的问题:

  • 应用程序会话 "state" 与 JSONStore 之间没有关系。 JSONStore 对于您的应用程序本身在设备中是本地的,而不是网络。

  • 您可以在应用程序初始化时调用注销功能,以确保在您重新启动应用程序后客户端将被注销,以模拟您的预期行为。您可能还希望 extend the splash screen duration 在此操作完成后用户体验会更好...注销功能只需调用 WL.Client.logout(请参阅文档)。