You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by bt...@apache.org on 2019/11/18 02:50:37 UTC
[james-project] 03/44: James-2949 Fix tokens with valid usernames
when needed, regenerate public key
This is an automated email from the ASF dual-hosted git repository.
btellier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git
commit 42faa90d2e31f562c5a3a2f21480635ac98042a7
Author: Raphael Ouazana <ra...@linagora.com>
AuthorDate: Thu Nov 14 16:32:15 2019 +0100
James-2949 Fix tokens with valid usernames when needed, regenerate public key
---
.../apache/james/modules/TestJMAPServerModule.java | 52 +++++++++++++++++-----
.../apache/james/jmap/JMAPAuthenticationTest.java | 18 ++++----
.../integration/GetMailboxesMethodTest.java | 12 ++---
3 files changed, 56 insertions(+), 26 deletions(-)
diff --git a/server/container/guice/protocols/jmap-draft/src/test/java/org/apache/james/modules/TestJMAPServerModule.java b/server/container/guice/protocols/jmap-draft/src/test/java/org/apache/james/modules/TestJMAPServerModule.java
index 6c5e5ec..8252360 100644
--- a/server/container/guice/protocols/jmap-draft/src/test/java/org/apache/james/modules/TestJMAPServerModule.java
+++ b/server/container/guice/protocols/jmap-draft/src/test/java/org/apache/james/modules/TestJMAPServerModule.java
@@ -34,16 +34,48 @@ import com.google.inject.name.Names;
public class TestJMAPServerModule extends AbstractModule {
- private static final String PUBLIC_PEM_KEY =
- "-----BEGIN PUBLIC KEY-----\n"
- + "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtlChO/nlVP27MpdkG0Bh\n"
- + "16XrMRf6M4NeyGa7j5+1UKm42IKUf3lM28oe82MqIIRyvskPc11NuzSor8HmvH8H\n"
- + "lhDs5DyJtx2qp35AT0zCqfwlaDnlDc/QDlZv1CoRZGpQk1Inyh6SbZwYpxxwh0fi\n"
- + "+d/4RpE3LBVo8wgOaXPylOlHxsDizfkL8QwXItyakBfMO6jWQRrj7/9WDhGf4Hi+\n"
- + "GQur1tPGZDl9mvCoRHjFrD5M/yypIPlfMGWFVEvV5jClNMLAQ9bYFuOc7H1fEWw6\n"
- + "U1LZUUbJW9/CH45YXz82CYqkrfbnQxqRb2iVbVjs/sHopHd1NTiCfUtwvcYJiBVj\n"
- + "kwIDAQAB\n"
- + "-----END PUBLIC KEY-----";
+ private static final String PUBLIC_PEM_KEY =
+ "-----BEGIN PUBLIC KEY-----\n" +
+ "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA8RfttZlaFNar/3GcU9RG\n" +
+ "3/2ZGi7PMI8B75XaX3AG2J1Mvl30Dl+yZ8tQKGGd/eelQsQAQboGXCHB/wCHR7n8\n" +
+ "CSF/E0hjRu6FK/2D6VTnn5BMiiPWPcEpLGT7CsGQPFZ54R0e5vJcGTty9Da/3Z+C\n" +
+ "YvrpupecrmJXCXwBwhm4WPb1woTfv9gVtTMpKOhfzmrGURy8nJ+1s4Lli46/UBIu\n" +
+ "fzTmzng4rXouLMvkq7eS4jIWtB0ifXHmPwRN/YhGmuq+GYG59KQ1iStSxVi9Nuzy\n" +
+ "Ik8eH3KeLx/2BuSshSwnnnYbxHEfR+p6H4oqKjTGutvLNamBRFKpj7CcryKbgVG0\n" +
+ "zwIDAQAB\n" +
+ "-----END PUBLIC KEY-----\n";
+
+ // For commodity, here is the matching private key, allowing to generate easily token if needed
+ // for example using jwt.io.
+ @SuppressWarnings("unused")
+ private static final String UNUSED_PRIVATE_KEY =
+ "-----BEGIN RSA PRIVATE KEY-----\n" +
+ "MIIEogIBAAKCAQEA8RfttZlaFNar/3GcU9RG3/2ZGi7PMI8B75XaX3AG2J1Mvl30\n" +
+ "Dl+yZ8tQKGGd/eelQsQAQboGXCHB/wCHR7n8CSF/E0hjRu6FK/2D6VTnn5BMiiPW\n" +
+ "PcEpLGT7CsGQPFZ54R0e5vJcGTty9Da/3Z+CYvrpupecrmJXCXwBwhm4WPb1woTf\n" +
+ "v9gVtTMpKOhfzmrGURy8nJ+1s4Lli46/UBIufzTmzng4rXouLMvkq7eS4jIWtB0i\n" +
+ "fXHmPwRN/YhGmuq+GYG59KQ1iStSxVi9NuzyIk8eH3KeLx/2BuSshSwnnnYbxHEf\n" +
+ "R+p6H4oqKjTGutvLNamBRFKpj7CcryKbgVG0zwIDAQABAoIBADGzIxeag01ka5R/\n" +
+ "ESDe07V9C8CwAZobAOUo2RlveJnS420i5RrJc3eeG+oXJYCf7htzWDI0bPc1Jk6x\n" +
+ "BzIsDt66/v00oPKQXPeSjUzeadkk4AJiHNoiJaC3OGEhQeCOWxWi8SnesEmrTak2\n" +
+ "WBsRtMk+vEvw0SXJs/OKkro2nyAHcm7qOkm/EDeyZFqXGyWlkx4iLiVgmhe33X62\n" +
+ "WxrLqAhKSqwwta3df3RQ1lPSlOxe1Jikg39NI57AblJ9VqQBdyVJRcMbVmZXBlan\n" +
+ "uFFHRBOnVR5Fg6DJZaFXAsXweduvw9N5mRMEIXX3YiLRsOdKTKm6bBCorfSi5QNa\n" +
+ "aQZhmrECgYEA/0iXxv5GxI5Ycv3yQni/Qu4GSE5qLFeFAfXhWiv73WZlqjNONgq7\n" +
+ "y2uBTojnI93yNGp8rcbI+9t+MTr0eIkKzo7ftYt0SsDshjLcO/pxuT4qWXfDO87b\n" +
+ "AGgfyuAugAE67KMuwxqQuT6NpGgYVhRn6JUYjVzT13kKzEPv7IOw7aUCgYEA8cUk\n" +
+ "EE4uVBfpObsFd9u9KL2tSFCBuKZZH8FqDdcj3lfdizwqd7D4kmVr4vFDtG1rtqOm\n" +
+ "qyNqI6eMr6wvqExPrLaf1lHlpYyHeW4t2S2iHh4tKriwcoPMUpuJHUcYHHzzCSux\n" +
+ "Kbk1cDFGphTOt4AnLk8HAivZWNQLieLaOQmhNmMCgYAYLogyEWQiulkmi2enZEi5\n" +
+ "zlJKByOHj8LJrMDsCb6R+mEm/jUqaVngqw5UoiNDAoMu8+dbjrj7Io+RmkQOJu0f\n" +
+ "I+mNCOi7LAs7qxWxmMetBHZ+gxm7UJzuLO7WCOZeub8bK1oCoUGUSpigOjwT61rs\n" +
+ "bTMmMOTgRFcBgm33uYHJAQKBgA8uNLR9ZDVNhwxj7NT4zCjJuB6pR2vjrgbraxBR\n" +
+ "aOQmGjgK4BPB3em7SonmYjzq/e9q2SU3xQtWEuRY6Gkl2X7bvK+FVukNKNh8DY7s\n" +
+ "aZiAho9/Jz0Zf3PUZkibVS08vzndL3OSOIPB5FC7T7t/5XXn6mW9gRktv0e6Ib+h\n" +
+ "FilHAoGAMA32OsmvG+tHam8FjrUgNNyBrdO2yfFNOWLDVt9CYIYSQa4dVpUKAyOH\n" +
+ "CF52SG6Ki1L0z001yrJ7gBk/i6KD9h+7izzs+16DSbWTPB3R16BVjRVoXgmg0vh5\n" +
+ "ICQil1aaN7/2au+p7E4n7nzfYG7nRX5syDoqgBbdhpJxV8/5ohA=\n" +
+ "-----END RSA PRIVATE KEY-----\n";
public static JMAPConfiguration.Builder jmapConfigurationBuilder() {
return JMAPConfiguration.builder()
diff --git a/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/java/org/apache/james/jmap/JMAPAuthenticationTest.java b/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/java/org/apache/james/jmap/JMAPAuthenticationTest.java
index 6d8a5212..acb2973 100644
--- a/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/java/org/apache/james/jmap/JMAPAuthenticationTest.java
+++ b/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/java/org/apache/james/jmap/JMAPAuthenticationTest.java
@@ -335,11 +335,10 @@ public abstract class JMAPAuthenticationTest {
@Category(BasicFeature.class)
@Test
public void getMustReturnEndpointsWhenValidJwtAuthorizationHeader() throws Exception {
- String token = "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIn0.T04BTk" +
- "LXkJj24coSZkK13RfG25lpvmSl2MJ7N10KpBk9_-95EGYZdog-BDAn3PJzqVw52z-Bwjh4VOj1-j7cURu0cT4jXehhUrlCxS4n7QHZ" +
- "DN_bsEYGu7KzjWTpTsUiHe-rN7izXVFxDGG1TGwlmBCBnPW-EFCf9ylUsJi0r2BKNdaaPRfMIrHptH1zJBkkUziWpBN1RNLjmvlAUf" +
- "49t1Tbv21ZqYM5Ht2vrhJWczFbuC-TD-8zJkXhjTmA1GVgomIX5dx1cH-dZX1wANNmshUJGHgepWlPU-5VIYxPEhb219RMLJIELMY2" +
- "qNOR8Q31ydinyqzXvCSzVJOf6T60-w";
+ String token = "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c2VyQGRvbWFpbi50bGQifQ.U-dUPv6OU6KO5N7CooHUfMkCd" +
+ "FJHx2F3H4fm7Q79g1BPfBSkifPj5xyVlZ0JwEGXypC4zBw9ay3l4DxzX7D_6p1Hx_ihXsoLx1Ca-WUo44x-XRSpPfgxiZjHCJkGBLMV3RZlA" +
+ "jip-d18mxkcX3JGplX_sCQkFisduAOAHuKSUg9wI6VBgUQi_0B35FYv6tP_bD6eFtvaAUN9QyXXh8UQjEp8CO12lRz6enfLx_V6BG_fEMkee" +
+ "6vRqdEqx_F9OF3eWTe1giMp_JhQ7_l1OXXtbd4TndVvTeuVy4irPbsRc-M8x_-qTDpFp6saRRsyOcFspxPp5n3yIhEK7B3UZiseXw";
given()
.header("Authorization", "Bearer " + token)
@@ -351,11 +350,10 @@ public abstract class JMAPAuthenticationTest {
@Test
public void getMustReturnEndpointsWhenValidUnkwnonUserJwtAuthorizationHeader() throws Exception {
- String token = "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMzM3IiwibmFtZSI6Ik5ldyBVc2VyIn0.ci8U04EOWKpi_y"
- + "faKs8fnCBcu1mWs8fvf-t9SDP2kkvDDfD-ya4sEGn4ueCp2dA2ndefZfVu_IfvdlVtxqzSf0tQ-dFKrIe-OtSKhI2otjWctLtk9A"
- + "G7jpWkXoDgr5IOVmsqg37Zxc2bgkLkC5FJqV6oCp51TNQTH6zZbXIUeuGFbHj2-iJeX8sACKTQB0llwc6TFm7GYUF03rv4DfJjqp"
- + "Kd0g8RdnlevSOjV-gGzvKEItugtexS5pgOZ2GYcvqEUDb9EnQR7Qe2EzPAX_FCJfGhlv7bDQlTgOHHAjqw2lD4-zeAznw-3wlYLS"
- + "zhi4ivvPjT-y2T5wnnhzeeYOpYOQ";
+ String token = "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1bmtub3duQGRvbWFpbi50bGQifQ.hr8AhlNIpiA3Mv_A5ZLyL" +
+ "f1BHeBSaRDfdR_GLV_hlPdIrWv1xtwjBH86E1YnTPx2tTpr_NWTbHcR1OCkuVCpgloEnUNbE3U2l0WrGOX2Eh9dWCXOCtrNvCeSHQuvx5_8W" +
+ "nSVENYidk7o2icE8_gz_Giwf0Z3bHJJYXfAxupv__tCkmhqt3E888VZPjs26AsqxQ29YyX0Fjx8UwKbPrH5-tnyftX-kLjjZNtahVIVtbW4v" +
+ "b8rEEZ4nzqxHqtI2co6yCXjgyoFMdDAKCOU-Bq35Gdo-Qiu8l7a0kQGhuhkjoaVWvw4bcSvunxAnh_0W5g3Lw-rwljNu2JrJS0gAH6NDA";
given()
.header("Authorization", "Bearer " + token)
diff --git a/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/java/org/apache/james/jmap/draft/methods/integration/GetMailboxesMethodTest.java b/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/java/org/apache/james/jmap/draft/methods/integration/GetMailboxesMethodTest.java
index aeb2286..daa5fe1 100644
--- a/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/java/org/apache/james/jmap/draft/methods/integration/GetMailboxesMethodTest.java
+++ b/server/protocols/jmap-draft-integration-testing/jmap-draft-integration-testing-common/src/test/java/org/apache/james/jmap/draft/methods/integration/GetMailboxesMethodTest.java
@@ -351,12 +351,12 @@ public abstract class GetMailboxesMethodTest {
@Category(BasicFeature.class)
@Test
public void getMailboxesShouldReturnDefaultMailboxesWhenAuthenticatedUserDoesntHaveAnAccountYet() {
- String token = "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMzM3QGRvbWFpbi50bGQiLCJuYW1lIjoiTmV3IFVzZXIif"
- + "Q.fxNWNzksXyCij2ooVi-QfGe9vTicF2N9FDtWSJdjWTjhwoQ_i0dgiT8clp4dtOJzy78hB2UkAW-iq7z3PR_Gz0qFah7EbYoEs"
- + "5lQs1UlhNGCRTvIsyR8qHUXtA6emw9x0nuMnswtyXhzoA-cEHCArrMxMeWhTYi2l4od3G8Irrvu1Yc5hKLwLgPdnImbKyB5a89T"
- + "vzuZE8-FVyMmhlaJA2T1GpbsaUnfE1ki_bBzqMHTD_Ob7oSVzz2UOiOeL-ombn1X9GbYQ2I-Ob4V84WHONYxw0VjPHlj9saZ2n7"
- + "2RJTBsIo6flJT-MchaEvTYBvuV_wlCCQYjI1g7mdeD6aXfw";
-
+ String token = "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMzM3QGRvbWFpbi50bGQiLCJuYW1lIjoiTmV3IFVzZXIif" +
+ "Q.bPeoAWAOyu4teilj27cL4uZ9jBO9zJOus3mJdqZYEeDe9OZeweopqkIE7ljuh-iTxBDE-f3OqaEqGa_mi6eOYT7XXAEPolcEAe4EooU" +
+ "lI8anYMrSlbMPBKGymH-QTWIcPS5P8XNFnIn94XheuEIXeaRHNvO5-SgENbFYS19kgyzOV54umQtIAewLyMdvG6aooLSk6lEy3AhVPIfl" +
+ "QJm6MLOsNzHMj7F7mM0Wm6QBfYeWIHzQLtEgGFFLyqeSXyzbgbbec2WYpVjXHNyWhAFcq7OMjOb2UEmb9gKr1fkL_XZgXna2CW46hzwaG" +
+ "jNO-6ZWpHjLfDEP7oHui51Hn_wJfw";
+
given()
.header("Authorization", "Bearer " + token)
.body("[[\"getMailboxes\", {}, \"#0\"]]")
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org