Проблема MFP 7.1 с ChallengeHandler при достижении expireInSeconds

Я тестировал устройство SSO и хотел посмотреть, что произойдет, когда срок действия сеанса истечет на стороне сервера. Поэтому я добавил expirationInSeconds в свой LoginModule, и теперь, когда время ожидания истекло, у меня возникает несогласованное состояние на стороне клиента. Вот как выглядит мой authenticationConfig.xml:

 <securityTests>
    <mobileSecurityTest name="SecurityTestSSO">
        <testDeviceId provisioningType="none"/>
        <testUser realm="SSORealm" sso="true"/>
    </mobileSecurityTest>

    <customSecurityTest name="AuthSecurityTestSSO">
        <test realm="wl_deviceNoProvisioningRealm" isInternalDeviceID="true" step="1" />
        <test realm="SSORealm" isInternalUserID="true" step="2" />
    </customSecurityTest>       

</securityTests> 

<realms>
    <realm name="SSORealm" loginModule="MySSO">
        <className>com.worklight.core.auth.ext.FormBasedAuthenticator</className>
    </realm>
</realms>

<loginModules>
    <loginModule name="MySSO" ssoDeviceLoginModule="WLDeviceNoProvisioningLoginModule" expirationInSeconds="20">
        <className>com.worklight.core.auth.ext.NonValidatingLoginModule</className>
    </loginModule>
</loginModules>

мое приложение защищено с помощью mobileSecurityTests SecurityTestSSO, а процедура моего адаптера — с помощью customSecurityTest AuthSecurityTestSSO. Все работает нормально, пока я не достигну 20 секунд: в это время вызовHandler получает не правильную форму, а какое-то перенаправление, и поэтому больше никогда не запускает мою страницу входа. То, что я вижу в логарифме, это следующая последовательность вызовов, 3 раза подряд:

Отправка запроса http://macetienne.home:10080/FormBasedAuth/adapters/AuthAdapter/getSecretData< /а>

Sending request http://macetienne.home:10080/FormBasedAuth/authorization/v1/authorization?response_type=code&client_id=e889109d89b4c5895a179ba1d1da8431696739ad&redirect_uri=http%3A%2F%2Fmfpredirecturi&scope=wl_deviceNoProvisioningRealm%20SSORealm&isAjaxRequest=true&x=0.4789802050217986

Отправка запроса http://macetienne.home:10080/FormBasedAuth/authorization/v1/token< /а>

Любая подсказка о том, как управлять токеном с истекшим сроком действия? Разве это не должно быть автоматически? Примечание. Я использую IBM MobileFirst Platform Studio 7.1.0.00-20151130-1648.

Спасибо!


person Etienne N    schedule 04.12.2015    source источник
comment
Не уверен, что это связано, но вы пытались изменить время истечения срока действия для встроенных областей? Этот параметр находится в самом низу worklight.properties.   -  person Idan Adar    schedule 05.12.2015


Ответы (1)


Благодаря Идану я смог найти согласованное состояние, выровняв время истечения срока действия LoginModule и время истечения сеанса сервера. Итак, если я добавлю следующую строку в worklight.properties:

серверсессионтимеаут = 1

(это количество минут) И следующее в authenticationConfig.xml:

loginModule name="MySSO" ssoDeviceLoginModule="WLDeviceNoProvisioningLoginModule" expireInSeconds="60"

Затем, после 1 минуты бездействия, когда я пытаюсь отправить запрос, у меня снова появляется страница входа в систему.

person Etienne N    schedule 07.12.2015