[java-plugin-shibd] branch main updated: JSHIBD-17 - Support DDF nodes for session data in AbstractTokenConsumerResponseAction
Codeberg
noreply at shibboleth.net
Fri Dec 19 14:21:50 UTC 2025
This is an automated email from the git hooks/post-receive script.
codeberg pushed a commit to branch main
in repository java-plugin-shibd.
View the commit online:
https://codeberg.org/Shibboleth/java-plugin-shibd/commit/74c6a177e5bc5ace652d1b47c3b883efc8c6c2ac
The following commit(s) were added to refs/heads/main by this push:
new 74c6a17 JSHIBD-17 - Support DDF nodes for session data in AbstractTokenConsumerResponseAction
74c6a17 is described below
commit 74c6a177e5bc5ace652d1b47c3b883efc8c6c2ac
Author: Phil Smart <philip.smart at jisc.ac.uk>
AuthorDate: Fri Dec 19 14:20:56 2025 +0000
JSHIBD-17 - Support DDF nodes for session data in AbstractTokenConsumerResponseAction
- Change session.opaque to a structure
- Change getSessionData to a DDF
- Add a session data DDF to the session.opaque structure
https://shibboleth.atlassian.net/browse/JSHIBD-17
---
.../sp/profile/AbstractTokenConsumerResponseAction.java | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/sp-server-api/src/main/java/net/shibboleth/sp/profile/AbstractTokenConsumerResponseAction.java b/sp-server-api/src/main/java/net/shibboleth/sp/profile/AbstractTokenConsumerResponseAction.java
index 26ef7c9..f841454 100644
--- a/sp-server-api/src/main/java/net/shibboleth/sp/profile/AbstractTokenConsumerResponseAction.java
+++ b/sp-server-api/src/main/java/net/shibboleth/sp/profile/AbstractTokenConsumerResponseAction.java
@@ -104,16 +104,16 @@ public abstract class AbstractTokenConsumerResponseAction extends AbstractApplic
attributeContext.getIdPAttributes().forEach((id, attr) -> {
final DDF obj = new DDF(id).list();
for (final IdPAttributeValue value : attr.getValues()) {
- if (value instanceof ScopedStringAttributeValue scoped) {
+ if (value instanceof final ScopedStringAttributeValue scoped) {
final DDF valobj = new DDF(null).structure();
valobj.addmember("value").string(scoped.getValue());
valobj.addmember("scope").string(scoped.getScope());
obj.add(valobj);
- } else if (value instanceof StringAttributeValue str) {
+ } else if (value instanceof final StringAttributeValue str) {
obj.add(new DDF(null).string(str.getValue()));
- } else if (value instanceof DateTimeAttributeValue datetime) {
+ } else if (value instanceof final DateTimeAttributeValue datetime) {
obj.add(new DDF(null).longinteger(datetime.getValue().getEpochSecond()));
- } else if (value instanceof ByteAttributeValue bytes) {
+ } else if (value instanceof final ByteAttributeValue bytes) {
try {
obj.add(new DDF(null).string(Base64Support.encode(bytes.getValue(), false)));
} catch (final EncodingException e) {
@@ -129,9 +129,9 @@ public abstract class AbstractTokenConsumerResponseAction extends AbstractApplic
log.debug("{} No AttributeContext or no attributes found", getLogPrefix());
}
- final String sessionData = getSessionData(profileRequestContext);
+ final DDF sessionData = getSessionData(profileRequestContext);
if (sessionData != null) {
- output.addmember(ConsumerConstants.SESSION_OPAQUE).string(sessionData);
+ output.addmember(ConsumerConstants.SESSION_OPAQUE).structure().add(sessionData);
}
final RemotedHttpServletResponse remotedResponse = agentRequestContext.getRemotedHttpServletResponse();
@@ -165,8 +165,8 @@ public abstract class AbstractTokenConsumerResponseAction extends AbstractApplic
*
* @param profileRequestContext profile request context
*
- * @return opaque session data suitable for transport as Unicode data
+ * @return opaque session data as a {@link DDF} node, or null if no session data is provided
*/
- @Nullable protected abstract String getSessionData(@Nonnull final ProfileRequestContext profileRequestContext);
+ @Nullable protected abstract DDF getSessionData(@Nonnull final ProfileRequestContext profileRequestContext);
}
\ No newline at end of file
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list