0

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

<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 не получает правильную форму, а что-то вроде перенаправления и, следовательно, никогда больше не запускает мою страницу входа. То, что я вижу в LogCat следующая последовательность вызовов, 3 раза подряд:

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

засылания 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

Спасибо!

+0

Не знаете, если это связано, но вы пробовали изменить время истечения срока действия встроенных сфер? Этот параметр можно найти в самом низу worklight.properties. –

ответ

1

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

serverSessionTimeout = 1

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

имя LoginModule =» MySSO "ssoDeviceLoginModule =" WLDeviceNoProvisioningLoginModule "expirationInSeconds =" 60 "

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

Смежные вопросы