为什么 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(请参阅文档)。
我定义了一个 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(请参阅文档)。