Сгенерировать ответ/утверждение SAML в java

Я работаю над аутентификацией, инициированной idp. Я хочу сгенерировать ответ SAML для отправки в SalesForce. У меня есть необходимые значения, которые нужно установить в ответе из метаданных. Скажите, пожалуйста, какие классы openSAML использовать для генерации ответа/утверждения.


person Muhammad Imran Tariq    schedule 12.05.2011    source источник


Ответы (2)


Ниже приведены основные классы, которые будут использоваться.

Утверждение
Подпись
SubjectConfirmationData
NameID
Тема
Условия
Аудитория
AuthnContextClassRef
AuthnStatement

см. это для библиотек openSAML ссылка

person Muhammad Imran Tariq    schedule 17.05.2011
comment
Как получить строку SAMLAssertion из SAMLResponse? Я преобразовал его с помощью Base64, но получил {error:invalid_grant,error_description:Предоставленный грант авторизации недействителен.}, нет конкретного сообщения об ошибке /wso2is-5.0.0/repository/logs/wso2carbon.log файл, пожалуйста, помогите мне - person ; 13.04.2015

Если вы хотите создать утверждения SAML и вам нужны удобные методы, которые помогут вам работать с библиотекой OpenSAML, вы можете взглянуть на SAML2ComponentBuilder от WSS4J. Это широко используется в Apache CXF и других сервисных стеках Java.

Создать утверждение так же просто, как:

        //Create assertion
    Assertion assertion = SAML2ComponentBuilder.createAssertion();

    //create issuer
    Issuer issuer = SAML2ComponentBuilder.createIssuer(issuerString);
    assertion.setIssuer(issuer);

Вы, очевидно, можете установить все значения, описанные выше, и есть «AssertionWrapper», который помогает в цифровой подписи утверждения:

assertionWrapper.signAssertion(псевдоним, пароль, подписьCrypto, false, defaultCanonicalizationAlgorithm, defaultRSASignatureAlgorithm);

На это стоит обратить внимание, если у вас возникли трудности с работой непосредственно с библиотекой OpenSAML.

Спасибо, Йогеш

person Yogesh Chawla    schedule 13.12.2012
comment
Как получить строку SAMLAssertion из SAMLResponse? Я преобразовал его с помощью Base64, но получил {error:invalid_grant,error_description:Предоставленный грант авторизации недействителен.}, нет конкретного сообщения об ошибке /wso2is-5.0.0/repository/logs/wso2carbon.log файл, пожалуйста, помогите мне - person ; 13.04.2015