IBM MobileFirst 8.0 JavaAdapter successStateExpirationSec回调

时间:2017-08-03 06:52:30

标签: ibm-mobilefirst mobilefirst-adapters mobilefirst-server

我的资源适配器就像这样

@Path("/branches")
public class MyResourceAdapter {
....
@GET
@Produces(MediaType.TEXT_PLAIN)
@Path("/getDetails")
@OAuthSecurity(scope = "getDetailsAuthScope")
public String getDetails() throws Exception {
String url = "...some url which returns data---";
HttpGet request = new HttpGet(url);
CloseableHttpClient client = HttpClients.createDefault();
CloseableHttpResponse response = client.execute(request);
HttpEntity entity = response.getEntity();
String responseString = EntityUtils.toString(entity);
return responseString;
}
}

我已将successStateExpirationSec设置为40秒。在我的javascript中,我正在调用适配器,如

function getData(type) {
alert(type);
var req = new WLResourceRequest('/adapters/LoginAdapter/branches/getDetails', WLResourceRequest.GET);
                    return req.send().then(function (response) {
                        alert(JSON.stringify(response));
                        return response.responseJSON;
                    });
}

只是为了测试这个,如果有

setTimeout(function () {
    getData('60 timeout');
}, 60000);

setTimeout(function () {
    getData('20 timeout');
}, 20000);

注销期间

WLAuthorizationManager.logout(securityCheckName);

简而言之,20秒后我正在发出Http请求,我收到了回复。 40秒后会话到期。 60秒后我再次发出Http请求,但没有得到任何预期的响应。

但我需要找到一种在会话到期时注销应用的方法。这有回调吗?登录后,我也会收到上次点击的响应。

有人可以帮我吗?

1 个答案:

答案 0 :(得分:0)

如果您知道会话到期时间为40秒,则可以将安全检查到期时间设置为相同。因此,您不需要执行注销操作,因为安全检查在指定的时间后过期。

以下是覆盖安全检查的默认过期时间的步骤。

  1. 打开MFP操作台&登录。
  2. 导航到您的应用以获取特定版本并打开安全标签
  3. 在安全检查配置中,选择安全检查名称,并将到期时间覆盖到所需的超时值,如下图所示。
  4. enter image description here