Я просмотрел стандарт и API OpenSAML-J, но не могу найти очевидный способ сделать это. Возможно ли это, и если да, то как?
Что я хочу, так это включить что-то в AuthnRequest
(который генерируется моим кодом и отправляется в IDP), в результате чего в конце AuthnResponse
включается именованный атрибут с определенным значением , В идеале атрибут должен быть всегда включен, но он также будет работать, если атрибут включен только после успешной аутентификации. Желаемое имя и значение известны при создании AuthnRequest.
Я тоже немного подумал о RelayState
, но это тоже не то, что я ищу.
Разрешены ли атрибуты в запросе аутентификации SAML? говорит о включении атрибутов в AuthnRequest, но, насколько я могу судить, использование расширений для включения атрибута не гарантирует, что тот же атрибут будет включен в окончательный ответ, выданный ВПЛ. (Но, может быть, я неправильно читаю основной раздел 7.2.1, и это действительно применимо к моему случаю?) Я не могу полагаться на поведение конкретной реализации; это должно быть гарантировано стандартом.
Любые предложения будут с благодарностью.
Единственное другое решение, которое я могу придумать, - это хранить соответствующие данные локально и ссылаться на них, используя атрибуты ID
и InResponseTo
в запросе и ответе соответственно, но это вносит немало накладных расходов и сложности. которого я бы предпочел избежать, если смогу.