mirror of
https://repository.entgra.net/community/device-mgt-core.git
synced 2025-10-06 02:01:45 +00:00
Add optional user domain query param to user APIs
This commit is contained in:
parent
4d76be36de
commit
6a62546440
@ -254,7 +254,6 @@ public interface UserManagementService {
|
|||||||
required = true) UserInfo user);
|
required = true) UserInfo user);
|
||||||
|
|
||||||
@GET
|
@GET
|
||||||
@Path("/{username}")
|
|
||||||
@ApiOperation(
|
@ApiOperation(
|
||||||
produces = MediaType.APPLICATION_JSON,
|
produces = MediaType.APPLICATION_JSON,
|
||||||
httpMethod = "GET",
|
httpMethod = "GET",
|
||||||
@ -310,7 +309,7 @@ public interface UserManagementService {
|
|||||||
value = "Provide the username of the user.",
|
value = "Provide the username of the user.",
|
||||||
required = true,
|
required = true,
|
||||||
defaultValue = "admin")
|
defaultValue = "admin")
|
||||||
@PathParam("username") String username,
|
@QueryParam("username") String username,
|
||||||
@ApiParam(
|
@ApiParam(
|
||||||
name = "domain",
|
name = "domain",
|
||||||
value = "The domain name of the user store.",
|
value = "The domain name of the user store.",
|
||||||
@ -325,7 +324,6 @@ public interface UserManagementService {
|
|||||||
@HeaderParam("If-Modified-Since") String ifModifiedSince);
|
@HeaderParam("If-Modified-Since") String ifModifiedSince);
|
||||||
|
|
||||||
@PUT
|
@PUT
|
||||||
@Path("/{username}")
|
|
||||||
@ApiOperation(
|
@ApiOperation(
|
||||||
consumes = MediaType.APPLICATION_JSON,
|
consumes = MediaType.APPLICATION_JSON,
|
||||||
produces = MediaType.APPLICATION_JSON,
|
produces = MediaType.APPLICATION_JSON,
|
||||||
@ -380,7 +378,7 @@ public interface UserManagementService {
|
|||||||
value = "The username of the user.",
|
value = "The username of the user.",
|
||||||
required = true,
|
required = true,
|
||||||
defaultValue = "admin")
|
defaultValue = "admin")
|
||||||
@PathParam("username") String username,
|
@QueryParam("username") String username,
|
||||||
@ApiParam(
|
@ApiParam(
|
||||||
name = "domain",
|
name = "domain",
|
||||||
value = "The domain name of the user store.",
|
value = "The domain name of the user store.",
|
||||||
@ -393,7 +391,6 @@ public interface UserManagementService {
|
|||||||
required = true) UserInfo userData);
|
required = true) UserInfo userData);
|
||||||
|
|
||||||
@DELETE
|
@DELETE
|
||||||
@Path("/{username}")
|
|
||||||
@Consumes(MediaType.WILDCARD)
|
@Consumes(MediaType.WILDCARD)
|
||||||
@ApiOperation(
|
@ApiOperation(
|
||||||
httpMethod = "DELETE",
|
httpMethod = "DELETE",
|
||||||
@ -431,7 +428,7 @@ public interface UserManagementService {
|
|||||||
"that user. Do not remove the admin user.",
|
"that user. Do not remove the admin user.",
|
||||||
required = true,
|
required = true,
|
||||||
defaultValue = "[Create a new user named Jim, and then try out this API.]")
|
defaultValue = "[Create a new user named Jim, and then try out this API.]")
|
||||||
@PathParam("username") String username,
|
@QueryParam("username") String username,
|
||||||
@ApiParam(
|
@ApiParam(
|
||||||
name = "domain",
|
name = "domain",
|
||||||
value = "The domain name of the user store.",
|
value = "The domain name of the user store.",
|
||||||
@ -439,7 +436,7 @@ public interface UserManagementService {
|
|||||||
@QueryParam("domain") String domain);
|
@QueryParam("domain") String domain);
|
||||||
|
|
||||||
@GET
|
@GET
|
||||||
@Path("/{username}/roles")
|
@Path("/roles")
|
||||||
@ApiOperation(
|
@ApiOperation(
|
||||||
produces = MediaType.APPLICATION_JSON,
|
produces = MediaType.APPLICATION_JSON,
|
||||||
httpMethod = "GET",
|
httpMethod = "GET",
|
||||||
@ -495,7 +492,7 @@ public interface UserManagementService {
|
|||||||
value = "The username of the user.",
|
value = "The username of the user.",
|
||||||
required = true,
|
required = true,
|
||||||
defaultValue = "admin")
|
defaultValue = "admin")
|
||||||
@PathParam("username") String username,
|
@QueryParam("username") String username,
|
||||||
@ApiParam(
|
@ApiParam(
|
||||||
name = "domain",
|
name = "domain",
|
||||||
value = "The domain name of the user store.",
|
value = "The domain name of the user store.",
|
||||||
@ -503,6 +500,7 @@ public interface UserManagementService {
|
|||||||
@QueryParam("domain") String domain);
|
@QueryParam("domain") String domain);
|
||||||
|
|
||||||
@GET
|
@GET
|
||||||
|
@Path("/list")
|
||||||
@ApiOperation(
|
@ApiOperation(
|
||||||
produces = MediaType.APPLICATION_JSON,
|
produces = MediaType.APPLICATION_JSON,
|
||||||
httpMethod = "GET",
|
httpMethod = "GET",
|
||||||
@ -573,7 +571,12 @@ public interface UserManagementService {
|
|||||||
value = "Provide how many user details you require from the starting pagination index/offset.",
|
value = "Provide how many user details you require from the starting pagination index/offset.",
|
||||||
required = false,
|
required = false,
|
||||||
defaultValue = "5")
|
defaultValue = "5")
|
||||||
@QueryParam("limit") int limit);
|
@QueryParam("limit") int limit,
|
||||||
|
@ApiParam(
|
||||||
|
name = "domain",
|
||||||
|
value = "The domain name of the user store.",
|
||||||
|
required = false)
|
||||||
|
@QueryParam("domain") String domain);
|
||||||
|
|
||||||
@GET
|
@GET
|
||||||
@Path(("/search"))
|
@Path(("/search"))
|
||||||
@ -1034,7 +1037,7 @@ public interface UserManagementService {
|
|||||||
@HeaderParam("If-Modified-Since") String ifModifiedSince);
|
@HeaderParam("If-Modified-Since") String ifModifiedSince);
|
||||||
|
|
||||||
@PUT
|
@PUT
|
||||||
@Path("/claims/{username}")
|
@Path("/claims")
|
||||||
@ApiOperation(
|
@ApiOperation(
|
||||||
produces = MediaType.APPLICATION_JSON,
|
produces = MediaType.APPLICATION_JSON,
|
||||||
httpMethod = "PUT",
|
httpMethod = "PUT",
|
||||||
@ -1082,14 +1085,19 @@ public interface UserManagementService {
|
|||||||
value = "Provide the username of the user.",
|
value = "Provide the username of the user.",
|
||||||
required = true,
|
required = true,
|
||||||
defaultValue = "admin")
|
defaultValue = "admin")
|
||||||
@PathParam("username") String username,
|
@QueryParam("username") String username,
|
||||||
@ApiParam(
|
@ApiParam(
|
||||||
name = "device list",
|
name = "device list",
|
||||||
value = "Array of objects with device details",
|
value = "Array of objects with device details",
|
||||||
required = true) JsonArray deviceList);
|
required = true) JsonArray deviceList,
|
||||||
|
@ApiParam(
|
||||||
|
name = "domain",
|
||||||
|
value = "The domain name of the user store.",
|
||||||
|
required = false)
|
||||||
|
@QueryParam("domain") String domain);
|
||||||
|
|
||||||
@GET
|
@GET
|
||||||
@Path("/claims/{username}")
|
@Path("/claims")
|
||||||
@ApiOperation(
|
@ApiOperation(
|
||||||
produces = MediaType.APPLICATION_JSON,
|
produces = MediaType.APPLICATION_JSON,
|
||||||
httpMethod = "GET",
|
httpMethod = "GET",
|
||||||
@ -1137,10 +1145,15 @@ public interface UserManagementService {
|
|||||||
value = "Provide the username of the user.",
|
value = "Provide the username of the user.",
|
||||||
required = true,
|
required = true,
|
||||||
defaultValue = "admin")
|
defaultValue = "admin")
|
||||||
@PathParam("username") String username);
|
@QueryParam("username") String username,
|
||||||
|
@ApiParam(
|
||||||
|
name = "domain",
|
||||||
|
value = "The domain name of the user store.",
|
||||||
|
required = false)
|
||||||
|
@QueryParam("domain") String domain);
|
||||||
|
|
||||||
@DELETE
|
@DELETE
|
||||||
@Path("/claims/{username}")
|
@Path("/claims")
|
||||||
@ApiOperation(
|
@ApiOperation(
|
||||||
produces = MediaType.APPLICATION_JSON,
|
produces = MediaType.APPLICATION_JSON,
|
||||||
httpMethod = "DELETE",
|
httpMethod = "DELETE",
|
||||||
@ -1188,7 +1201,12 @@ public interface UserManagementService {
|
|||||||
value = "Provide the username of the user.",
|
value = "Provide the username of the user.",
|
||||||
required = true,
|
required = true,
|
||||||
defaultValue = "admin")
|
defaultValue = "admin")
|
||||||
@PathParam("username") String username);
|
@QueryParam("username") String username,
|
||||||
|
@ApiParam(
|
||||||
|
name = "domain",
|
||||||
|
value = "The domain name of the user store.",
|
||||||
|
required = false)
|
||||||
|
@QueryParam("domain") String domain);
|
||||||
|
|
||||||
@GET
|
@GET
|
||||||
@Path("/current-user/permissions")
|
@Path("/current-user/permissions")
|
||||||
|
|||||||
@ -74,7 +74,7 @@ import javax.ws.rs.core.Response;
|
|||||||
public interface UserManagementAdminService {
|
public interface UserManagementAdminService {
|
||||||
|
|
||||||
@POST
|
@POST
|
||||||
@Path("/{username}/credentials")
|
@Path("/credentials")
|
||||||
@ApiOperation(
|
@ApiOperation(
|
||||||
consumes = MediaType.APPLICATION_JSON,
|
consumes = MediaType.APPLICATION_JSON,
|
||||||
produces = MediaType.APPLICATION_JSON,
|
produces = MediaType.APPLICATION_JSON,
|
||||||
@ -115,7 +115,7 @@ public interface UserManagementAdminService {
|
|||||||
value = "The username of the user." +
|
value = "The username of the user." +
|
||||||
"INFO: Add a new user using the POST /users API that is under User Management.",
|
"INFO: Add a new user using the POST /users API that is under User Management.",
|
||||||
required = true)
|
required = true)
|
||||||
@PathParam("username")
|
@QueryParam("username")
|
||||||
@Size(max = 45)
|
@Size(max = 45)
|
||||||
String username,
|
String username,
|
||||||
@ApiParam(
|
@ApiParam(
|
||||||
@ -131,7 +131,7 @@ public interface UserManagementAdminService {
|
|||||||
|
|
||||||
|
|
||||||
@DELETE
|
@DELETE
|
||||||
@Path("/{username}/devices")
|
@Path("/devices")
|
||||||
@Produces(MediaType.APPLICATION_JSON)
|
@Produces(MediaType.APPLICATION_JSON)
|
||||||
@Consumes(MediaType.APPLICATION_JSON)
|
@Consumes(MediaType.APPLICATION_JSON)
|
||||||
@ApiOperation(
|
@ApiOperation(
|
||||||
@ -183,7 +183,7 @@ public interface UserManagementAdminService {
|
|||||||
name = "username",
|
name = "username",
|
||||||
value = "Username of the users devices to be deleted.",
|
value = "Username of the users devices to be deleted.",
|
||||||
required = true)
|
required = true)
|
||||||
@PathParam("username") String username);
|
@QueryParam("username") String username);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -270,9 +270,8 @@ public class UserManagementServiceImpl implements UserManagementService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@GET
|
@GET
|
||||||
@Path("/{username}")
|
|
||||||
@Override
|
@Override
|
||||||
public Response getUser(@PathParam("username") String username, @QueryParam("domain") String domain,
|
public Response getUser(@QueryParam("username") String username, @QueryParam("domain") String domain,
|
||||||
@HeaderParam("If-Modified-Since") String ifModifiedSince) {
|
@HeaderParam("If-Modified-Since") String ifModifiedSince) {
|
||||||
if (domain != null && !domain.isEmpty()) {
|
if (domain != null && !domain.isEmpty()) {
|
||||||
username = domain + '/' + username;
|
username = domain + '/' + username;
|
||||||
@ -299,9 +298,8 @@ public class UserManagementServiceImpl implements UserManagementService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@PUT
|
@PUT
|
||||||
@Path("/{username}")
|
|
||||||
@Override
|
@Override
|
||||||
public Response updateUser(@PathParam("username") String username, @QueryParam("domain") String domain, UserInfo userInfo) {
|
public Response updateUser(@QueryParam("username") String username, @QueryParam("domain") String domain, UserInfo userInfo) {
|
||||||
if (domain != null && !domain.isEmpty()) {
|
if (domain != null && !domain.isEmpty()) {
|
||||||
username = domain + '/' + username;
|
username = domain + '/' + username;
|
||||||
}
|
}
|
||||||
@ -378,10 +376,9 @@ public class UserManagementServiceImpl implements UserManagementService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@DELETE
|
@DELETE
|
||||||
@Path("/{username}")
|
|
||||||
@Consumes(MediaType.WILDCARD)
|
@Consumes(MediaType.WILDCARD)
|
||||||
@Override
|
@Override
|
||||||
public Response removeUser(@PathParam("username") String username, @QueryParam("domain") String domain) {
|
public Response removeUser(@QueryParam("username") String username, @QueryParam("domain") String domain) {
|
||||||
if (domain != null && !domain.isEmpty()) {
|
if (domain != null && !domain.isEmpty()) {
|
||||||
username = domain + '/' + username;
|
username = domain + '/' + username;
|
||||||
}
|
}
|
||||||
@ -413,9 +410,9 @@ public class UserManagementServiceImpl implements UserManagementService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@GET
|
@GET
|
||||||
@Path("/{username}/roles")
|
@Path("/roles")
|
||||||
@Override
|
@Override
|
||||||
public Response getRolesOfUser(@PathParam("username") String username, @QueryParam("domain") String domain) {
|
public Response getRolesOfUser(@QueryParam("username") String username, @QueryParam("domain") String domain) {
|
||||||
if (domain != null && !domain.isEmpty()) {
|
if (domain != null && !domain.isEmpty()) {
|
||||||
username = domain + '/' + username;
|
username = domain + '/' + username;
|
||||||
}
|
}
|
||||||
@ -442,10 +439,11 @@ public class UserManagementServiceImpl implements UserManagementService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@GET
|
@GET
|
||||||
|
@Path("/list")
|
||||||
@Override
|
@Override
|
||||||
public Response getUsers(@QueryParam("filter") String filter, @HeaderParam("If-Modified-Since") String timestamp,
|
public Response getUsers(@QueryParam("filter") String filter, @HeaderParam("If-Modified-Since") String timestamp,
|
||||||
@QueryParam("offset") int offset,
|
@QueryParam("offset") int offset, @QueryParam("limit") int limit,
|
||||||
@QueryParam("limit") int limit) {
|
@QueryParam("domain") String domain) {
|
||||||
if (log.isDebugEnabled()) {
|
if (log.isDebugEnabled()) {
|
||||||
log.debug("Getting the list of users with all user-related information");
|
log.debug("Getting the list of users with all user-related information");
|
||||||
}
|
}
|
||||||
@ -464,8 +462,11 @@ public class UserManagementServiceImpl implements UserManagementService {
|
|||||||
UserStoreManager userStoreManager = DeviceMgtAPIUtils.getUserStoreManager();
|
UserStoreManager userStoreManager = DeviceMgtAPIUtils.getUserStoreManager();
|
||||||
|
|
||||||
//As the listUsers function accepts limit only to accommodate offset we are passing offset + limit
|
//As the listUsers function accepts limit only to accommodate offset we are passing offset + limit
|
||||||
String[] users = userStoreManager.listUsers(appliedFilter, appliedLimit);
|
List<String> users = Arrays.asList(userStoreManager.listUsers(appliedFilter, appliedLimit));
|
||||||
userList = new ArrayList<>(users.length);
|
if (domain != null && !domain.isEmpty()) {
|
||||||
|
users = getUsersFromDomain(domain, users);
|
||||||
|
}
|
||||||
|
userList = new ArrayList<>(users.size());
|
||||||
BasicUserInfo user;
|
BasicUserInfo user;
|
||||||
for (String username : users) {
|
for (String username : users) {
|
||||||
user = getBasicUserInfo(username);
|
user = getBasicUserInfo(username);
|
||||||
@ -487,7 +488,7 @@ public class UserManagementServiceImpl implements UserManagementService {
|
|||||||
}
|
}
|
||||||
BasicUserInfoList result = new BasicUserInfoList();
|
BasicUserInfoList result = new BasicUserInfoList();
|
||||||
result.setList(offsetList);
|
result.setList(offsetList);
|
||||||
result.setCount(users.length);
|
result.setCount(userList.size());
|
||||||
|
|
||||||
return Response.status(Response.Status.OK).entity(result).build();
|
return Response.status(Response.Status.OK).entity(result).build();
|
||||||
} catch (UserStoreException e) {
|
} catch (UserStoreException e) {
|
||||||
@ -507,7 +508,7 @@ public class UserManagementServiceImpl implements UserManagementService {
|
|||||||
@QueryParam("limit") int limit) {
|
@QueryParam("limit") int limit) {
|
||||||
|
|
||||||
if (RequestValidationUtil.isNonFilterRequest(username,firstName, lastName, emailAddress)) {
|
if (RequestValidationUtil.isNonFilterRequest(username,firstName, lastName, emailAddress)) {
|
||||||
return getUsers(null, timestamp, offset, limit);
|
return getUsers(null, timestamp, offset, limit, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
RequestValidationUtil.validatePaginationParameters(offset, limit);
|
RequestValidationUtil.validatePaginationParameters(offset, limit);
|
||||||
@ -693,7 +694,12 @@ public class UserManagementServiceImpl implements UserManagementService {
|
|||||||
List<UserInfo> userList;
|
List<UserInfo> userList;
|
||||||
try {
|
try {
|
||||||
UserStoreManager userStoreManager = DeviceMgtAPIUtils.getUserStoreManager();
|
UserStoreManager userStoreManager = DeviceMgtAPIUtils.getUserStoreManager();
|
||||||
String[] users = userStoreManager.listUsers(userStoreDomain + "/" + filter + "*", limit);
|
String[] users;
|
||||||
|
if (userStoreDomain.equals("all")) {
|
||||||
|
users = userStoreManager.listUsers(filter + "*", limit);
|
||||||
|
} else {
|
||||||
|
users = userStoreManager.listUsers(userStoreDomain + "/" + filter + "*", limit);
|
||||||
|
}
|
||||||
userList = new ArrayList<>();
|
userList = new ArrayList<>();
|
||||||
UserInfo user;
|
UserInfo user;
|
||||||
for (String username : users) {
|
for (String username : users) {
|
||||||
@ -919,25 +925,29 @@ public class UserManagementServiceImpl implements UserManagementService {
|
|||||||
|
|
||||||
@PUT
|
@PUT
|
||||||
@Override
|
@Override
|
||||||
@Path("/claims/{username}")
|
@Path("/claims")
|
||||||
public Response updateUserClaimsForDevices(
|
public Response updateUserClaimsForDevices(
|
||||||
@PathParam("username") String username,
|
@QueryParam("username") String username, JsonArray deviceList,
|
||||||
JsonArray deviceList) {
|
@QueryParam("domain") String domain) {
|
||||||
try {
|
try {
|
||||||
UserStoreManager userStoreManager = DeviceMgtAPIUtils.getUserStoreManager();
|
UserStoreManager userStoreManager = DeviceMgtAPIUtils.getUserStoreManager();
|
||||||
|
if (domain != null && !domain.isEmpty()) {
|
||||||
|
username = domain + Constants.FORWARD_SLASH + username;
|
||||||
|
} else {
|
||||||
|
RealmConfiguration realmConfiguration = PrivilegedCarbonContext.getThreadLocalCarbonContext()
|
||||||
|
.getUserRealm()
|
||||||
|
.getRealmConfiguration();
|
||||||
|
domain = realmConfiguration
|
||||||
|
.getUserStoreProperty(UserCoreConstants.RealmConfig.PROPERTY_DOMAIN_NAME);
|
||||||
|
if (!StringUtils.isBlank(domain)) {
|
||||||
|
username = domain + Constants.FORWARD_SLASH + username;
|
||||||
|
}
|
||||||
|
}
|
||||||
if (!userStoreManager.isExistingUser(username)) {
|
if (!userStoreManager.isExistingUser(username)) {
|
||||||
String msg = "User by username: " + username + " does not exist.";
|
String msg = "User by username: " + username + " does not exist.";
|
||||||
log.error(msg);
|
log.error(msg);
|
||||||
return Response.status(Response.Status.NOT_FOUND).entity(msg).build();
|
return Response.status(Response.Status.NOT_FOUND).entity(msg).build();
|
||||||
}
|
}
|
||||||
RealmConfiguration realmConfiguration = PrivilegedCarbonContext.getThreadLocalCarbonContext()
|
|
||||||
.getUserRealm()
|
|
||||||
.getRealmConfiguration();
|
|
||||||
String domain = realmConfiguration
|
|
||||||
.getUserStoreProperty(UserCoreConstants.RealmConfig.PROPERTY_DOMAIN_NAME);
|
|
||||||
if (!StringUtils.isBlank(domain)) {
|
|
||||||
username = domain + Constants.FORWARD_SLASH + username;
|
|
||||||
}
|
|
||||||
ClaimMetadataManagementAdminService
|
ClaimMetadataManagementAdminService
|
||||||
claimMetadataManagementAdminService = new ClaimMetadataManagementAdminService();
|
claimMetadataManagementAdminService = new ClaimMetadataManagementAdminService();
|
||||||
//Get all available claim URIs
|
//Get all available claim URIs
|
||||||
@ -981,25 +991,29 @@ public class UserManagementServiceImpl implements UserManagementService {
|
|||||||
|
|
||||||
@GET
|
@GET
|
||||||
@Override
|
@Override
|
||||||
@Path("/claims/{username}")
|
@Path("/claims")
|
||||||
public Response getUserClaimsForDevices(
|
public Response getUserClaimsForDevices(
|
||||||
@PathParam("username") String username) {
|
@QueryParam("username") String username, @QueryParam("domain") String domain) {
|
||||||
try {
|
try {
|
||||||
UserStoreManager userStoreManager = DeviceMgtAPIUtils.getUserStoreManager();
|
UserStoreManager userStoreManager = DeviceMgtAPIUtils.getUserStoreManager();
|
||||||
Map<String, String> claims = new HashMap<>();
|
Map<String, String> claims = new HashMap<>();
|
||||||
|
if (domain != null && !domain.isEmpty()) {
|
||||||
|
username = domain + Constants.FORWARD_SLASH + username;
|
||||||
|
} else {
|
||||||
|
RealmConfiguration realmConfiguration = PrivilegedCarbonContext.getThreadLocalCarbonContext()
|
||||||
|
.getUserRealm()
|
||||||
|
.getRealmConfiguration();
|
||||||
|
domain = realmConfiguration
|
||||||
|
.getUserStoreProperty(UserCoreConstants.RealmConfig.PROPERTY_DOMAIN_NAME);
|
||||||
|
if (!StringUtils.isBlank(domain)) {
|
||||||
|
username = domain + Constants.FORWARD_SLASH + username;
|
||||||
|
}
|
||||||
|
}
|
||||||
if (!userStoreManager.isExistingUser(username)) {
|
if (!userStoreManager.isExistingUser(username)) {
|
||||||
String msg = "User by username: " + username + " does not exist.";
|
String msg = "User by username: " + username + " does not exist.";
|
||||||
log.error(msg);
|
log.error(msg);
|
||||||
return Response.status(Response.Status.NOT_FOUND).entity(msg).build();
|
return Response.status(Response.Status.NOT_FOUND).entity(msg).build();
|
||||||
}
|
}
|
||||||
RealmConfiguration realmConfiguration = PrivilegedCarbonContext.getThreadLocalCarbonContext()
|
|
||||||
.getUserRealm()
|
|
||||||
.getRealmConfiguration();
|
|
||||||
String domain = realmConfiguration
|
|
||||||
.getUserStoreProperty(UserCoreConstants.RealmConfig.PROPERTY_DOMAIN_NAME);
|
|
||||||
if (!StringUtils.isBlank(domain)) {
|
|
||||||
username = domain + Constants.FORWARD_SLASH + username;
|
|
||||||
}
|
|
||||||
String[] allUserClaims = userStoreManager.getClaimManager().getAllClaimUris();
|
String[] allUserClaims = userStoreManager.getClaimManager().getAllClaimUris();
|
||||||
if (!Arrays.asList(allUserClaims).contains(Constants.USER_CLAIM_DEVICES)) {
|
if (!Arrays.asList(allUserClaims).contains(Constants.USER_CLAIM_DEVICES)) {
|
||||||
if (log.isDebugEnabled()) {
|
if (log.isDebugEnabled()) {
|
||||||
@ -1019,25 +1033,29 @@ public class UserManagementServiceImpl implements UserManagementService {
|
|||||||
|
|
||||||
@DELETE
|
@DELETE
|
||||||
@Override
|
@Override
|
||||||
@Path("/claims/{username}")
|
@Path("/claims")
|
||||||
public Response deleteUserClaimsForDevices(
|
public Response deleteUserClaimsForDevices(
|
||||||
@PathParam("username") String username) {
|
@QueryParam("username") String username, @QueryParam("domain") String domain) {
|
||||||
try {
|
try {
|
||||||
String[] claimArray = new String[1];
|
String[] claimArray = new String[1];
|
||||||
UserStoreManager userStoreManager = DeviceMgtAPIUtils.getUserStoreManager();
|
UserStoreManager userStoreManager = DeviceMgtAPIUtils.getUserStoreManager();
|
||||||
|
if (domain != null && !domain.isEmpty()) {
|
||||||
|
username = domain + Constants.FORWARD_SLASH + username;
|
||||||
|
} else {
|
||||||
|
RealmConfiguration realmConfiguration = PrivilegedCarbonContext.getThreadLocalCarbonContext()
|
||||||
|
.getUserRealm()
|
||||||
|
.getRealmConfiguration();
|
||||||
|
domain = realmConfiguration
|
||||||
|
.getUserStoreProperty(UserCoreConstants.RealmConfig.PROPERTY_DOMAIN_NAME);
|
||||||
|
if (!StringUtils.isBlank(domain)) {
|
||||||
|
username = domain + Constants.FORWARD_SLASH + username;
|
||||||
|
}
|
||||||
|
}
|
||||||
if (!userStoreManager.isExistingUser(username)) {
|
if (!userStoreManager.isExistingUser(username)) {
|
||||||
String msg = "User by username: " + username + " does not exist.";
|
String msg = "User by username: " + username + " does not exist.";
|
||||||
log.error(msg);
|
log.error(msg);
|
||||||
return Response.status(Response.Status.NOT_FOUND).entity(msg).build();
|
return Response.status(Response.Status.NOT_FOUND).entity(msg).build();
|
||||||
}
|
}
|
||||||
RealmConfiguration realmConfiguration = PrivilegedCarbonContext.getThreadLocalCarbonContext()
|
|
||||||
.getUserRealm()
|
|
||||||
.getRealmConfiguration();
|
|
||||||
String domain = realmConfiguration
|
|
||||||
.getUserStoreProperty(UserCoreConstants.RealmConfig.PROPERTY_DOMAIN_NAME);
|
|
||||||
if (!StringUtils.isBlank(domain)) {
|
|
||||||
username = domain + Constants.FORWARD_SLASH + username;
|
|
||||||
}
|
|
||||||
String[] allUserClaims = userStoreManager.getClaimManager().getAllClaimUris();
|
String[] allUserClaims = userStoreManager.getClaimManager().getAllClaimUris();
|
||||||
if (!Arrays.asList(allUserClaims).contains(Constants.USER_CLAIM_DEVICES)) {
|
if (!Arrays.asList(allUserClaims).contains(Constants.USER_CLAIM_DEVICES)) {
|
||||||
if (log.isDebugEnabled()) {
|
if (log.isDebugEnabled()) {
|
||||||
@ -1306,4 +1324,23 @@ public class UserManagementServiceImpl implements UserManagementService {
|
|||||||
userStoreList.setCount(userStores.size());
|
userStoreList.setCount(userStores.size());
|
||||||
return Response.status(Response.Status.OK).entity(userStoreList).build();
|
return Response.status(Response.Status.OK).entity(userStoreList).build();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Iterates through the list of all users and returns a list of users from the specified user store domain
|
||||||
|
* @param domain user store domain name
|
||||||
|
* @param users list of all users from UserStoreManager
|
||||||
|
* @return list of users from specified user store domain
|
||||||
|
*/
|
||||||
|
public List<String> getUsersFromDomain(String domain, List<String> users) {
|
||||||
|
List<String> userList = new ArrayList<>();
|
||||||
|
for(String username : users) {
|
||||||
|
String[] domainName = username.split("/");
|
||||||
|
if(domain.equals(Constants.PRIMARY_USER_STORE) && domainName.length == 1) {
|
||||||
|
userList.add(username);
|
||||||
|
} else if (domainName[0].equals(domain) && domainName.length > 1) {
|
||||||
|
userList.add(username);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return userList;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -40,9 +40,9 @@ public class UserManagementAdminServiceImpl implements UserManagementAdminServic
|
|||||||
private static final Log log = LogFactory.getLog(UserManagementAdminServiceImpl.class);
|
private static final Log log = LogFactory.getLog(UserManagementAdminServiceImpl.class);
|
||||||
|
|
||||||
@POST
|
@POST
|
||||||
@Path("/{username}/credentials")
|
@Path("/credentials")
|
||||||
@Override
|
@Override
|
||||||
public Response resetUserPassword(@PathParam("username")
|
public Response resetUserPassword(@QueryParam("username")
|
||||||
@Size(max = 45)
|
@Size(max = 45)
|
||||||
String user, @QueryParam("domain") String domain, PasswordResetWrapper credentials) {
|
String user, @QueryParam("domain") String domain, PasswordResetWrapper credentials) {
|
||||||
if (domain != null && !domain.isEmpty()) {
|
if (domain != null && !domain.isEmpty()) {
|
||||||
@ -52,9 +52,9 @@ public class UserManagementAdminServiceImpl implements UserManagementAdminServic
|
|||||||
}
|
}
|
||||||
|
|
||||||
@DELETE
|
@DELETE
|
||||||
@Path("/{username}/devices")
|
@Path("/devices")
|
||||||
@Override
|
@Override
|
||||||
public Response deleteDeviceOfUser(@PathParam("username") String username) {
|
public Response deleteDeviceOfUser(@QueryParam("username") String username) {
|
||||||
try {
|
try {
|
||||||
DeviceMgtAPIUtils.getPrivacyComplianceProvider().deleteDevicesOfUser(username);
|
DeviceMgtAPIUtils.getPrivacyComplianceProvider().deleteDevicesOfUser(username);
|
||||||
return Response.status(Response.Status.OK).build();
|
return Response.status(Response.Status.OK).build();
|
||||||
|
|||||||
@ -258,7 +258,7 @@ public class UserManagementServiceImplTest {
|
|||||||
public void testGetUsers() {
|
public void testGetUsers() {
|
||||||
PowerMockito.stub(PowerMockito.method(DeviceMgtAPIUtils.class, "getUserStoreManager"))
|
PowerMockito.stub(PowerMockito.method(DeviceMgtAPIUtils.class, "getUserStoreManager"))
|
||||||
.toReturn(userStoreManager);
|
.toReturn(userStoreManager);
|
||||||
Response response = userManagementService.getUsers(null, "00", 0, 10);
|
Response response = userManagementService.getUsers(null, "00", 0, 10, null);
|
||||||
Assert.assertEquals(response.getStatus(), Response.Status.OK.getStatusCode(), "GetUsers request failed");
|
Assert.assertEquals(response.getStatus(), Response.Status.OK.getStatusCode(), "GetUsers request failed");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -383,7 +383,7 @@ public class UserManagementServiceImplTest {
|
|||||||
.getUserClaimValue(Mockito.any(), Mockito.any(), Mockito.any());
|
.getUserClaimValue(Mockito.any(), Mockito.any(), Mockito.any());
|
||||||
Mockito.doThrow(new UserStoreException()).when(userStoreManager)
|
Mockito.doThrow(new UserStoreException()).when(userStoreManager)
|
||||||
.listUsers(Mockito.anyString(), Mockito.anyInt());
|
.listUsers(Mockito.anyString(), Mockito.anyInt());
|
||||||
Response response = userManagementService.getUsers(TEST_USERNAME, "00", 0, 10);
|
Response response = userManagementService.getUsers(TEST_USERNAME, "00", 0, 10, null);
|
||||||
Assert.assertEquals(response.getStatus(), Response.Status.INTERNAL_SERVER_ERROR.getStatusCode(),
|
Assert.assertEquals(response.getStatus(), Response.Status.INTERNAL_SERVER_ERROR.getStatusCode(),
|
||||||
"Response returned successful for a users retrieval request.");
|
"Response returned successful for a users retrieval request.");
|
||||||
response = userManagementService.getUserCount();
|
response = userManagementService.getUserCount();
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user