Мы используем shibboleth-idp для аутентификации пользователей с использованием решения SSO от shibboleth. Мы можем сделать обновление idp (от 2.4 до 3.1.1), а также проверить статус IdP 3.1.1. (http://localhost:8080/idp/profile/status)Подготовить запрос на аутентификацию SAML с использованием OpenSaml3.1.1
Как известно, «IdP 2.4» использовал OpenSaml2.6 и IdP 3.1.1 использует Opensaml 3.1.1,
Мы имеем следующие запросы по отношению к OpenSAML 3.1.1
А) альтернативный API, которые будут использоваться в OpenSAML 3.1.1 для "SecureRandomIdentifierGenerator"
A.1) Использование Open SAML 2.6 Образец генерации SessionID в SP (компонент не shibboleth SP) приведен ниже:
SecureRandomIdentifier Генератор генератора = новый SecureRandomIdentifierGenerator(); sessionId = generator.generateIdentifier();
A.2) Использование Open SAML 3.1.1 ???
В) Как отправить запрос SAML с помощью Open SAML 3.1.1 B.1) с использованием открытых SAML 2.6 Пример запроса SAML из SP (не Шибболет ИП компонент) к IDP 2.4 (компонент Шибболет) приводится ниже :: мы называем "getAuthnRequest()" метод получения SAML запроса (мы используем SAML 2.6)
private AuthnRequest getAuthnRequest(DateTime issueInstant, Issuer issuer,
String consumerUrl, String spUrl) {
AuthnRequestBuilder authRequestBuilder = new AuthnRequestBuilder();
AuthnRequest authRequest = authRequestBuilder
.buildObject("urn:oasis:names:tc:SAML:2.0:protocol",
"AuthnRequest", "samlp");
authRequest.setForceAuthn(new Boolean(false));
authRequest.setIsPassive(new Boolean(false));
authRequest.setIssueInstant(issueInstant);
authRequest
.setProtocolBinding("urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST");
authRequest.setAssertionConsumerServiceURL(consumerUrl);
authRequest.setIssuer(issuer);
authRequest.setAttributeConsumingServiceIndex(1);
return authRequest;
}
В.2) Использование открытого SAML 3.1.1 ???
Пожалуйста, предложите нам использовать opensaml 3.1.1 для подготовки запроса saml authn.