diff --git a/jans-auth-server/model/src/main/java/io/jans/as/model/register/RegisterRequestParam.java b/jans-auth-server/model/src/main/java/io/jans/as/model/register/RegisterRequestParam.java
index e31cb38ca5e..4d8e56f6728 100644
--- a/jans-auth-server/model/src/main/java/io/jans/as/model/register/RegisterRequestParam.java
+++ b/jans-auth-server/model/src/main/java/io/jans/as/model/register/RegisterRequestParam.java
@@ -92,6 +92,11 @@ public enum RegisterRequestParam {
*/
TOS_URI("tos_uri"),
+ /**
+ * Organization id
+ */
+ ORG_ID("org_id"),
+
/**
* URL for the Client's JSON Web Key Set (JWK) document containing key(s) that are used for signing requests to
* the OP. The JWK Set may also contain the Client's encryption keys(s) that are used by the OP to encrypt the
diff --git a/jans-auth-server/server/src/main/java/io/jans/as/server/register/ws/rs/RegisterJsonService.java b/jans-auth-server/server/src/main/java/io/jans/as/server/register/ws/rs/RegisterJsonService.java
index 73070987ed7..2380c0f93b8 100644
--- a/jans-auth-server/server/src/main/java/io/jans/as/server/register/ws/rs/RegisterJsonService.java
+++ b/jans-auth-server/server/src/main/java/io/jans/as/server/register/ws/rs/RegisterJsonService.java
@@ -83,6 +83,7 @@ public JSONObject getJSONObject(Client client) throws JSONException, StringEncry
Util.addToJSONObjectIfNotNull(responseJsonObject, CLIENT_URI.toString(), client.getClientUri());
Util.addToJSONObjectIfNotNull(responseJsonObject, POLICY_URI.toString(), client.getPolicyUri());
Util.addToJSONObjectIfNotNull(responseJsonObject, TOS_URI.toString(), client.getTosUri());
+ Util.addToJSONObjectIfNotNull(responseJsonObject, ORG_ID.toString(), client.getOrganization());
Util.addToJSONObjectIfNotNull(responseJsonObject, CLIENT_NAME.toString(), client.getClientNameLocalized());
Util.addToJSONObjectIfNotNull(responseJsonObject, LOGO_URI.toString(), client.getLogoUriLocalized());
diff --git a/jans-auth-server/server/src/main/java/io/jans/as/server/register/ws/rs/RegisterService.java b/jans-auth-server/server/src/main/java/io/jans/as/server/register/ws/rs/RegisterService.java
index b33638c6d46..44ee7d2a02d 100644
--- a/jans-auth-server/server/src/main/java/io/jans/as/server/register/ws/rs/RegisterService.java
+++ b/jans-auth-server/server/src/main/java/io/jans/as/server/register/ws/rs/RegisterService.java
@@ -20,6 +20,7 @@
import io.jans.as.model.jwt.Jwt;
import io.jans.as.model.register.ApplicationType;
import io.jans.as.model.register.RegisterErrorResponseType;
+import io.jans.as.model.register.RegisterRequestParam;
import io.jans.as.persistence.model.Scope;
import io.jans.as.server.ciba.CIBARegisterClientMetadataService;
import io.jans.as.server.service.ScopeService;
@@ -388,7 +389,7 @@ public void updateClientFromRequestObject(Client client, RegisterRequest request
}
if (requestObject.getJsonObject() != null) {
- final String orgId = requestObject.getJsonObject().optString("org_id");
+ final String orgId = requestObject.getJsonObject().optString(RegisterRequestParam.ORG_ID.getName());
if (StringUtils.isNotBlank(orgId)) {
client.setOrganization(orgId);
}
diff --git a/jans-auth-server/server/src/test/java/io/jans/as/server/register/ws/rs/RegisterJsonServiceTest.java b/jans-auth-server/server/src/test/java/io/jans/as/server/register/ws/rs/RegisterJsonServiceTest.java
new file mode 100644
index 00000000000..bfe95e171ce
--- /dev/null
+++ b/jans-auth-server/server/src/test/java/io/jans/as/server/register/ws/rs/RegisterJsonServiceTest.java
@@ -0,0 +1,66 @@
+package io.jans.as.server.register.ws.rs;
+
+import io.jans.as.common.model.registration.Client;
+import io.jans.as.common.service.AttributeService;
+import io.jans.as.model.configuration.AppConfiguration;
+import io.jans.as.server.ciba.CIBARegisterClientResponseService;
+import io.jans.as.server.service.ClientService;
+import io.jans.as.server.service.ScopeService;
+import io.jans.util.security.StringEncrypter;
+import org.json.JSONObject;
+import org.mockito.InjectMocks;
+import org.mockito.Mock;
+import org.mockito.Spy;
+import org.mockito.testng.MockitoTestNGListener;
+import org.testng.annotations.Listeners;
+import org.testng.annotations.Test;
+
+import java.util.Date;
+
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertNull;
+
+/**
+ * @author Yuriy Z
+ */
+@Listeners(MockitoTestNGListener.class)
+public class RegisterJsonServiceTest {
+
+ @InjectMocks
+ @Spy
+ private RegisterJsonService registerJsonService;
+
+ @Mock
+ private AppConfiguration appConfiguration;
+
+ @Mock
+ private ClientService clientService;
+
+ @Mock
+ private ScopeService scopeService;
+
+ @Mock
+ private AttributeService attributeService;
+ @Mock
+ private CIBARegisterClientResponseService cibaRegisterClientResponseService;
+
+ @Test
+ public void getJSONObject_whenOrgIdSet_shouldHaveOrgIdPresentInJson() throws StringEncrypter.EncryptionException {
+ Client client = new Client();
+ client.setOrganization("testOrgId");
+ client.setClientIdIssuedAt(new Date());
+
+ final JSONObject json = registerJsonService.getJSONObject(client);
+ assertEquals(json.get("org_id"), "testOrgId");
+ }
+
+ @Test
+ public void getJSONObject_whenOrgIdIsNotSet_shouldHaveNullOrgIdInJson() throws StringEncrypter.EncryptionException {
+ Client client = new Client();
+ client.setOrganization(null);
+ client.setClientIdIssuedAt(new Date());
+
+ final JSONObject json = registerJsonService.getJSONObject(client);
+ assertNull(json.opt("org_id"));
+ }
+}
diff --git a/jans-auth-server/server/src/test/resources/testng.xml b/jans-auth-server/server/src/test/resources/testng.xml
index d30f9efb472..ab14f33009a 100644
--- a/jans-auth-server/server/src/test/resources/testng.xml
+++ b/jans-auth-server/server/src/test/resources/testng.xml
@@ -38,6 +38,7 @@
+