[java-idp-plugin-vci] 02/03: Apply new abstract action for perfoming actions on resource originated credential configurations
Codeberg
noreply at shibboleth.net
Wed Dec 31 12:10:33 UTC 2025
This is an automated email from the git hooks/post-receive script.
codeberg pushed a commit to branch dev/W3CCred
in repository java-idp-plugin-vci.
View the commit online:
https://codeberg.org/Shibboleth/java-idp-plugin-vci/commit/4c281958d6f125e827cb9830d04f165958b7cae4
commit 4c281958d6f125e827cb9830d04f165958b7cae4
Author: jlauros <janne.lauros at csc.fi>
AuthorDate: Wed Dec 31 10:15:08 2025 +0200
Apply new abstract action for perfoming actions on resource originated credential configurations
---
.../profile/impl/ValidateCredentialOffering.java | 41 ++--------------------
1 file changed, 3 insertions(+), 38 deletions(-)
diff --git a/openid-vci-impl/src/main/java/org/geant/shibboleth/plugin/openidvci/profile/impl/ValidateCredentialOffering.java b/openid-vci-impl/src/main/java/org/geant/shibboleth/plugin/openidvci/profile/impl/ValidateCredentialOffering.java
index ca153cf..9f5a48c 100644
--- a/openid-vci-impl/src/main/java/org/geant/shibboleth/plugin/openidvci/profile/impl/ValidateCredentialOffering.java
+++ b/openid-vci-impl/src/main/java/org/geant/shibboleth/plugin/openidvci/profile/impl/ValidateCredentialOffering.java
@@ -16,12 +16,10 @@
package org.geant.shibboleth.plugin.openidvci.profile.impl;
-import java.io.IOException;
import java.util.Set;
import javax.annotation.Nonnull;
-import org.geant.shibboleth.plugin.openidvci.credential.CredentialConfigurations;
import org.geant.shibboleth.plugin.openidvci.messaging.context.CredentialOfferContext;
import org.geant.shibboleth.plugin.openidvci.messaging.impl.CredentialOfferRequest;
import org.geant.shibboleth.plugin.openidvci.profile.OpenIDVCIEventIds;
@@ -29,13 +27,7 @@ import org.opensaml.profile.action.ActionSupport;
import org.opensaml.profile.context.ProfileRequestContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import net.shibboleth.shared.resource.Resource;
-import net.shibboleth.idp.profile.AbstractProfileAction;
-import net.shibboleth.shared.annotation.constraint.NonnullAfterInit;
import net.shibboleth.shared.annotation.constraint.NonnullBeforeExec;
-import net.shibboleth.shared.annotation.constraint.NotEmpty;
-import net.shibboleth.shared.component.ComponentInitializationException;
-import net.shibboleth.shared.logic.Constraint;
/**
* Action validates that there is a credential offering matching the request.
@@ -48,30 +40,17 @@ import net.shibboleth.shared.logic.Constraint;
* supported configuration.
*
*/
-public class ValidateCredentialOffering extends AbstractProfileAction {
+public class ValidateCredentialOffering extends AbstractCredentialValidationAction {
/** Class logger. */
@Nonnull
private Logger log = LoggerFactory.getLogger(ValidateCredentialOffering.class);
- /** The supported credentials file. */
- @NonnullAfterInit
- private Resource credentialsResource;
-
- /** The supported credentials parsed from file . */
- @NonnullBeforeExec
- private CredentialConfigurations configurations;
-
/** The requested credential configuration identifiers . */
@NonnullBeforeExec
private Set<String> credentialConfIds;
/** The supported credentials file. */
- public void setCredentialsResource(@Nonnull @NotEmpty Resource resource) {
- assert resource != null;
- assert resource.exists();
- credentialsResource = resource;
- }
/**
* Inbound {@link CredentialOfferRequest}.
@@ -79,13 +58,6 @@ public class ValidateCredentialOffering extends AbstractProfileAction {
@NonnullBeforeExec
private CredentialOfferRequest request;
- /** {@inheritDoc} */
- @Override
- protected void doInitialize() throws ComponentInitializationException {
- super.doInitialize();
- Constraint.isNotNull(credentialsResource, "Credentials resource cannot be null");
- }
-
/** {@inheritDoc} */
@Override
protected boolean doPreExecute(@Nonnull final ProfileRequestContext profileRequestContext) {
@@ -100,13 +72,6 @@ public class ValidateCredentialOffering extends AbstractProfileAction {
credentialConfIds = request.getPreAuthorizedCredentials() != null
? request.getPreAuthorizedCredentials().keySet()
: Set.copyOf(request.getCodeCredentials());
- try {
- configurations = CredentialConfigurations.parse(credentialsResource);
- } catch (IOException e) {
- log.error("{} Parsing credential configuration failed.", getLogPrefix(), e);
- ActionSupport.buildEvent(profileRequestContext, OpenIDVCIEventIds.NO_CREDENTIAL_CONFIGURATION);
- return false;
- }
return super.doPreExecute(profileRequestContext);
}
@@ -114,7 +79,7 @@ public class ValidateCredentialOffering extends AbstractProfileAction {
@Override
protected void doExecute(@Nonnull final ProfileRequestContext profileRequestContext) {
credentialConfIds.forEach(id -> {
- if (!configurations.getCredentialConfigurations().keySet().contains(id)) {
+ if (!getCredentialConfigurations().getCredentialConfigurations().keySet().contains(id)) {
log.error("{} Requested credential configuration id {} is not supported", getLogPrefix(), id);
ActionSupport.buildEvent(profileRequestContext, OpenIDVCIEventIds.NO_CREDENTIALS_REQUEST);
return;
@@ -122,7 +87,7 @@ public class ValidateCredentialOffering extends AbstractProfileAction {
});
CredentialOfferContext ctx = new CredentialOfferContext();
- ctx.setCredentialConfigurations(configurations);
+ ctx.setCredentialConfigurations(getCredentialConfigurations());
ctx.setValidatedPreAuthorizedCredentials(request.getPreAuthorizedCredentials());
ctx.setValidatedCodeCredentials(request.getCodeCredentials());
ctx.setCredentialOfferTxCode(request.getCredentialOfferTxCode());
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list