#java #saml #assertion
#java #saml #утверждение
Вопрос:
Я работаю над аутентификацией с использованием idp. Я хочу сгенерировать ответ SAML для отправки в SalesForce. У меня есть необходимые значения, которые должны быть установлены в ответе из метаданных. Пожалуйста, подскажите мне классы OpenSAML, которые следует использовать для генерации ответа / утверждения.
Ответ №1:
Ниже приведены основные классы, которые будут использоваться.
Подпись
утверждения, данные о предмете подтверждения,
Имя_ID
,
Условия
субъекта,
Аудитория
, AuthnContextClassRef, , AuthnStatement
смотрите это для библиотек OpenSAML по ссылке
Комментарии:
1. Как получить строку SAMLAssertion из SAMLResponse? Я преобразовал его с помощью Base64, но получаю {«error»:»invalid_grant», «error_description»: «Предоставленное разрешение на авторизацию недействительно.»}, конкретного сообщения об ошибке нет / wso2is-5.0.0/repository /logs/wso2carbon. файл журнала, пожалуйста, помогите мне
Ответ №2:
Если вы хотите создать утверждения 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(псевдоним, пароль, signatureCrypto, false, алгоритм канонизации по умолчанию, алгоритм подписи по умолчанию);
На это стоит обратить внимание, если у вас возникают трудности с непосредственным использованием библиотеки OpenSAML.
Спасибо, Йогеш
Комментарии:
1. Как получить строку SAMLAssertion из SAMLResponse? Я преобразовал его с помощью Base64, но получаю {«error»:»invalid_grant», «error_description»: «Предоставленное разрешение на авторизацию недействительно.»}, конкретного сообщения об ошибке нет / wso2is-5.0.0/repository /logs/wso2carbon. файл журнала, пожалуйста, помогите мне