Я тестировал устройство 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< /а>
Отправка запроса http://macetienne.home:10080/FormBasedAuth/authorization/v1/token< /а>
Любая подсказка о том, как управлять токеном с истекшим сроком действия? Разве это не должно быть автоматически? Примечание. Я использую IBM MobileFirst Platform Studio 7.1.0.00-20151130-1648.
Спасибо!