Я столкнулся с вашей проблемой и все еще расследую ее. Кажется, другое время между sp и isp. Вы можете проверить это расширение WebSSOProfileConsumerImpl, внедрение verifyAssertion method.Here это код прокомментировал:
@Override
protected void verifyAssertion(Assertion assertion, AuthnRequest request, SAMLMessageContext context) throws AuthenticationException, SAMLException, org.opensaml.xml.security.SecurityException, ValidationException, DecryptionException {
/*// Verify storage time skew
if (!isDateTimeSkewValid(getResponseSkew(), getMaxAssertionTime(), assertion.getIssueInstant())) {
throw new SAMLException("Assertion is too old to be used, value can be customized by setting maxAssertionTime value " + assertion.getIssueInstant());
}*/
// Verify validity of storage
// Advice is ignored, core 574
verifyIssuer(assertion.getIssuer(), context);
verifyAssertionSignature(assertion.getSignature(), context);
// Check subject
if (assertion.getSubject() != null) {
verifySubject(assertion.getSubject(), request, context);
} else {
throw new SAMLException("Assertion does not contain subject and is discarded");
}
// Assertion with authentication statement must contain audience restriction
if (assertion.getAuthnStatements().size() > 0) {
//verifyAssertionConditions(assertion.getConditions(), context, true);
for (AuthnStatement statement : assertion.getAuthnStatements()) {
if (request != null) {
verifyAuthenticationStatement(statement, request.getRequestedAuthnContext(), context);
} else {
verifyAuthenticationStatement(statement, null, context);
}
}
} else {
verifyAssertionConditions(assertion.getConditions(), context, false);
}
}
Хмм я до сих пор не понимаю. Если я проверю подлинность и подожду около 5 минут. Мое утверждение будет недействительным, но мой клиентский сеанс действителен. Если я обновляю веб-страницу в браузере, не следует ли запускать метод verifyAssertion? – Robert
Я предполагаю, но я не уверен, вам нужно снова войти в систему, если сервер истекает ваш auth. Возможно, 1 минута - это время, когда сервер сохраняет вашу аутентификацию. Вы могли видеть свою действительность сессии на странице индекса весны saml после того, как вы просто авторизовались. – Antonio