spring saml - CredentialsExpiredException: оператор аутентификации слишком стар, чтобы его использовать - PullRequest
0 голосов
/ 26 февраля 2019

У меня есть рабочая пружина SAML APPLICATION, которая использует okta в качестве IDP.

Чтобы преодолеть исключение, (CredentialsExpiredException: оператор аутентификации слишком старый, чтобы его использовать), я настроил

maxAuthenticationAge к высокому значению, это кажется работающим.но если я удаляю / аннулирую пользователя из IDP, пользователь все еще проходит аутентификацию.

Есть ли способ решить эту проблему, не устанавливая maxAuthenticationAge в высокое значение или не используя forceAuthN в true, как показано ниже?

 <bean id="webSSOprofileConsumer" class="org.springframework.security.saml.websso.WebSSOProfileConsumerImpl" lazy-init="true">
    **<property name="maxAuthenticationAge" value="86400"/>**
    <property name="responseSkew" value="600"/> <!-- 10 minutes -->
    <property name="maxAssertionTime" value="6000"/>
</bean>


 <bean id="samlEntryPoint" class="org.springframework.security.saml.SAMLEntryPoint" lazy-init="true">
    <property name="defaultProfileOptions">
        <bean class="org.springframework.security.saml.websso.WebSSOProfileOptions">
            <property name="includeScoping" value="false"/> <!-- Default: true. When true request will include Scoping element. -->
            **<property name="forceAuthN" value="true"/>** <!-- Default: false. When true IDP is required to re-authenticate user and not rely on previous authentication events  -->
            <property name="passive" value="false"/>  <!-- Default: false. Sets whether the IdP should refrain from interacting with the user during the authentication process. -->
        </bean>
    </property>
...