Мы используем shibboleth-idp для аутентификации пользователей с помощью решения SSO от shibboleth. Мы можем выполнить обновление idp (с 2.4 до 3.1.1), а также проверить статус IdP 3.1.1.(http://localhost:8080/idp/profile/status)
Как мы знаем, IdP 2.4 использует OpenSaml2.6, а IdP 3.1.1 использует Opensaml 3.1.1,
У нас есть следующие запросы относительно OpenSAML 3.1.1
A) Альтернативный API для использования в OpenSAML 3.1.1 для "SecureRandomIdentifierGenerator"
A.1) Использование Open SAML 2.6 Пример генерации SessionID в SP (не шибболетный компонент SP) приведен ниже ::
Генератор SecureRandomIdentifierGenerator = новый SecureRandomIdentifierGenerator(); sessionId=generator.generateIdentifier();
A.2)Использование Open SAML 3.1.1 ???
B) Как отправить запрос SAML с использованием Open SAML 3.1.1 B.1)Использование Open SAML 2.6 Образец запроса SAML от SP (компонент SP без shibboleth) к Idp 2.4 (компонент Shibboleth) приведен ниже: мы вызываем «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;
}
B.2) Использование Open SAML 3.1.1 ???
Пожалуйста, предложите нам использовать opensaml 3.1.1 для подготовки запроса аутентификации saml.