[java-idp-oidc] 01/04: Test refactoring, moved some helper methods to be better accessible.
Henri Mikkonen
henri.mikkonen at iki.fi
Thu Dec 30 14:51:09 UTC 2021
This is an automated email from the git hooks/post-receive script.
hjmikkon pushed a commit to branch maint-3.0
in repository java-idp-oidc.
View the commit online:
http://git.shibboleth.net/view/?p=java-idp-oidc.git;a=commit;h=7696035bcbee56d8c5720a715a4c811122f985bb
commit 7696035bcbee56d8c5720a715a4c811122f985bb
Author: Henri Mikkonen <henri.mikkonen at iki.fi>
AuthorDate: Thu Dec 30 16:42:31 2021 +0200
Test refactoring, moved some helper methods to be better accessible.
---
.../AbstractOidcClientAuthenticationFlowTest.java | 32 +++++-----------------
.../oidc/op/profile/flow/AbstractOidcFlowTest.java | 24 ++++++++++++++++
2 files changed, 31 insertions(+), 25 deletions(-)
diff --git a/idp-oidc-extension-impl/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/flow/AbstractOidcClientAuthenticationFlowTest.java b/idp-oidc-extension-impl/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/flow/AbstractOidcClientAuthenticationFlowTest.java
index d497e21a..2fe446fa 100644
--- a/idp-oidc-extension-impl/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/flow/AbstractOidcClientAuthenticationFlowTest.java
+++ b/idp-oidc-extension-impl/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/flow/AbstractOidcClientAuthenticationFlowTest.java
@@ -35,9 +35,6 @@ import org.testng.annotations.Test;
import com.nimbusds.jose.JOSEException;
import com.nimbusds.jose.JWSAlgorithm;
-import com.nimbusds.jose.JWSHeader;
-import com.nimbusds.jose.crypto.MACSigner;
-import com.nimbusds.jose.crypto.RSASSASigner;
import com.nimbusds.jwt.JWTClaimsSet;
import com.nimbusds.jwt.SignedJWT;
import com.nimbusds.oauth2.sdk.auth.ClientAuthenticationMethod;
@@ -84,21 +81,6 @@ public abstract class AbstractOidcClientAuthenticationFlowTest extends AbstractO
requestParameters.put("client_assertion_type", "urn:ietf:params:oauth:client-assertion-type:jwt-bearer");
}
- protected SignedJWT createSecretJWT(final JWTClaimsSet claimsSet, final String clientSecret)
- throws JOSEException {
- final SignedJWT jwt = new SignedJWT(new JWSHeader(JWSAlgorithm.HS256), claimsSet);
- final MACSigner signer = new MACSigner(clientSecret);
- jwt.sign(signer);
- return jwt;
- }
-
- protected SignedJWT createPrivateKeyJWT(final JWTClaimsSet claimsSet) throws JOSEException {
- final SignedJWT jwt = new SignedJWT(new JWSHeader(JWSAlgorithm.RS256), claimsSet);
- final RSASSASigner signer = new RSASSASigner(rsaPrivateKey);
- jwt.sign(signer);
- return jwt;
- }
-
@Test
public void testInvalidSecretJWT_missingSub() throws Exception {
final SignedJWT jwt = createSecretJWT(claimsSetMissingSub(), clientSecret);
@@ -164,7 +146,7 @@ public abstract class AbstractOidcClientAuthenticationFlowTest extends AbstractO
@Test
public void testInvalidPrivateKeyJWT_missingSub() throws Exception {
- final SignedJWT jwt = createPrivateKeyJWT(claimsSetMissingSub());
+ final SignedJWT jwt = createPrivateKeyJWT(claimsSetMissingSub(), rsaPrivateKey);
final FlowExecutionResult result = launchWithJwtAuthentication(jwt, JWSAlgorithm.RS256,
ClientAuthenticationMethod.PRIVATE_KEY_JWT);
assertErrorCode(result, "invalid_request");
@@ -173,7 +155,7 @@ public abstract class AbstractOidcClientAuthenticationFlowTest extends AbstractO
@Test
public void testInvalidPrivateKeyJWT_missingIss() throws Exception {
- final SignedJWT jwt = createPrivateKeyJWT(claimsSetMissingIss());
+ final SignedJWT jwt = createPrivateKeyJWT(claimsSetMissingIss(), rsaPrivateKey);
final FlowExecutionResult result = launchWithJwtAuthentication(jwt, JWSAlgorithm.RS256,
ClientAuthenticationMethod.PRIVATE_KEY_JWT);
assertErrorCode(result, "invalid_request");
@@ -182,7 +164,7 @@ public abstract class AbstractOidcClientAuthenticationFlowTest extends AbstractO
@Test
public void testInvalidPrivateKeyJWT_missingAud() throws Exception {
- final SignedJWT jwt = createPrivateKeyJWT(claimsSetMissingAud());
+ final SignedJWT jwt = createPrivateKeyJWT(claimsSetMissingAud(), rsaPrivateKey);
final FlowExecutionResult result = launchWithJwtAuthentication(jwt, JWSAlgorithm.RS256,
ClientAuthenticationMethod.PRIVATE_KEY_JWT);
assertErrorCode(result, "invalid_request");
@@ -191,7 +173,7 @@ public abstract class AbstractOidcClientAuthenticationFlowTest extends AbstractO
@Test
public void testInvalidPrivateKeyJWT_missingExp() throws Exception {
- final SignedJWT jwt = createPrivateKeyJWT(claimsSetMissingExp());
+ final SignedJWT jwt = createPrivateKeyJWT(claimsSetMissingExp(), rsaPrivateKey);
final FlowExecutionResult result = launchWithJwtAuthentication(jwt, JWSAlgorithm.RS256,
ClientAuthenticationMethod.PRIVATE_KEY_JWT);
assertErrorCode(result, "invalid_request");
@@ -200,7 +182,7 @@ public abstract class AbstractOidcClientAuthenticationFlowTest extends AbstractO
@Test
public void testInvalidPrivateKeyJWT_expiredExp() throws Exception {
- final SignedJWT jwt = createPrivateKeyJWT(claimsSetExpiredExp());
+ final SignedJWT jwt = createPrivateKeyJWT(claimsSetExpiredExp(), rsaPrivateKey);
final FlowExecutionResult result = launchWithJwtAuthentication(jwt, JWSAlgorithm.RS256,
ClientAuthenticationMethod.PRIVATE_KEY_JWT);
assertErrorCode(result, getErrorDetaisForJWTValidation().getFirst());
@@ -209,7 +191,7 @@ public abstract class AbstractOidcClientAuthenticationFlowTest extends AbstractO
@Test
public void testInvalidPrivateKeyJWT_issuedInTheFuture() throws Exception {
- final SignedJWT jwt = createPrivateKeyJWT(claimsSetIssuedInTheFuture());
+ final SignedJWT jwt = createPrivateKeyJWT(claimsSetIssuedInTheFuture(), rsaPrivateKey);
final FlowExecutionResult result = launchWithJwtAuthentication(jwt, JWSAlgorithm.RS256,
ClientAuthenticationMethod.PRIVATE_KEY_JWT);
assertErrorCode(result, getErrorDetaisForJWTValidation().getFirst());
@@ -218,7 +200,7 @@ public abstract class AbstractOidcClientAuthenticationFlowTest extends AbstractO
@Test
public void testInvalidPrivateKeyJWT_missingJti() throws Exception {
- final SignedJWT jwt = createPrivateKeyJWT(claimsSetMissingJti());
+ final SignedJWT jwt = createPrivateKeyJWT(claimsSetMissingJti(), rsaPrivateKey);
final FlowExecutionResult result = launchWithJwtAuthentication(jwt, JWSAlgorithm.RS256,
ClientAuthenticationMethod.PRIVATE_KEY_JWT);
assertErrorCode(result, getErrorDetaisForJWTValidation().getFirst());
diff --git a/idp-oidc-extension-impl/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/flow/AbstractOidcFlowTest.java b/idp-oidc-extension-impl/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/flow/AbstractOidcFlowTest.java
index e0ebd7d6..7feb922d 100644
--- a/idp-oidc-extension-impl/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/flow/AbstractOidcFlowTest.java
+++ b/idp-oidc-extension-impl/src/test/java/net/shibboleth/idp/plugin/oidc/op/profile/flow/AbstractOidcFlowTest.java
@@ -20,6 +20,7 @@ package net.shibboleth.idp.plugin.oidc.op.profile.flow;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
+import java.security.interfaces.RSAPrivateKey;
import java.security.interfaces.RSAPublicKey;
import java.time.Instant;
import java.util.Arrays;
@@ -41,9 +42,15 @@ import org.springframework.webflow.test.MockExternalContext;
import org.testng.Assert;
import org.testng.annotations.BeforeMethod;
+import com.nimbusds.jose.JOSEException;
import com.nimbusds.jose.JWSAlgorithm;
+import com.nimbusds.jose.JWSHeader;
+import com.nimbusds.jose.crypto.MACSigner;
+import com.nimbusds.jose.crypto.RSASSASigner;
import com.nimbusds.jose.jwk.JWKSet;
import com.nimbusds.jose.jwk.RSAKey;
+import com.nimbusds.jwt.JWTClaimsSet;
+import com.nimbusds.jwt.SignedJWT;
import com.nimbusds.oauth2.sdk.ErrorResponse;
import com.nimbusds.oauth2.sdk.GrantType;
import com.nimbusds.oauth2.sdk.Response;
@@ -248,4 +255,21 @@ public abstract class AbstractOidcFlowTest extends AbstractFlowTest {
"\"iat\":" + Instant.now().getEpochSecond() + "," +
"\"jti\":\"" + idGenerator.generateIdentifier() + "\"}";
}
+
+ protected static SignedJWT createSecretJWT(final JWTClaimsSet claimsSet, final String clientSecret)
+ throws JOSEException {
+ final SignedJWT jwt = new SignedJWT(new JWSHeader(JWSAlgorithm.HS256), claimsSet);
+ final MACSigner signer = new MACSigner(clientSecret);
+ jwt.sign(signer);
+ return jwt;
+ }
+
+ protected static SignedJWT createPrivateKeyJWT(final JWTClaimsSet claimsSet, final RSAPrivateKey rsaPrivateKey)
+ throws JOSEException {
+ final SignedJWT jwt = new SignedJWT(new JWSHeader(JWSAlgorithm.RS256), claimsSet);
+ final RSASSASigner signer = new RSASSASigner(rsaPrivateKey);
+ jwt.sign(signer);
+ return jwt;
+ }
+
}
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list