This is an automated email from the ASF dual-hosted git repository.

sgarofalo pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/syncope.git


The following commit(s) were added to refs/heads/master by this push:
     new e5e69dba99 [SYNCOPE-1836] Propagate password changes coming from SCIM 
extension
e5e69dba99 is described below

commit e5e69dba99bf87d68e897c5af38636faf5cb11de
Author: sgarofalo <[email protected]>
AuthorDate: Mon Nov 4 17:07:06 2024 +0100

    [SYNCOPE-1836] Propagate password changes coming from SCIM extension
---
 .../java/org/apache/syncope/core/logic/SCIMDataBinder.java  |  3 ++-
 .../test/java/org/apache/syncope/fit/core/SCIMITCase.java   | 13 +++++++++++++
 2 files changed, 15 insertions(+), 1 deletion(-)

diff --git 
a/ext/scimv2/logic/src/main/java/org/apache/syncope/core/logic/SCIMDataBinder.java
 
b/ext/scimv2/logic/src/main/java/org/apache/syncope/core/logic/SCIMDataBinder.java
index 5ec9bce174..59ec383a31 100644
--- 
a/ext/scimv2/logic/src/main/java/org/apache/syncope/core/logic/SCIMDataBinder.java
+++ 
b/ext/scimv2/logic/src/main/java/org/apache/syncope/core/logic/SCIMDataBinder.java
@@ -836,7 +836,8 @@ public class SCIMDataBinder {
 
             case "password" -> {
                 if (op.getOp() != PatchOp.remove && 
!CollectionUtils.isEmpty(op.getValue())) {
-                    userUR.setPassword(new 
PasswordPatch.Builder().value(op.getValue().get(0).toString()).build());
+                    userUR.setPassword(new 
PasswordPatch.Builder().value(op.getValue().get(0).toString()).resources(
+                            resources).build());
                 }
             }
 
diff --git 
a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/SCIMITCase.java 
b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/SCIMITCase.java
index ed7dc42ea1..082862a7a1 100644
--- 
a/fit/core-reference/src/test/java/org/apache/syncope/fit/core/SCIMITCase.java
+++ 
b/fit/core-reference/src/test/java/org/apache/syncope/fit/core/SCIMITCase.java
@@ -677,6 +677,19 @@ public class SCIMITCase extends AbstractITCase {
 
         user = response.readEntity(SCIMUser.class);
         assertTrue(user.getEmails().stream().noneMatch(v -> 
"home".equals(v.getType())));
+
+        // 7. update with path, update password
+        body =
+                "{"
+                        + 
"\"schemas\":[\"urn:ietf:params:scim:api:messages:2.0:PatchOp\"],"
+                        + "\"Operations\":[{"
+                        + "\"op\":\"replace\","
+                        + "\"path\":\"password\","
+                        + "\"value\":\"Password123!\""
+                        + "}]"
+                        + "}";
+        response = 
webClient().path("Users").path(user.getId()).invoke(HttpMethod.PATCH, body);
+        assertEquals(Response.Status.OK.getStatusCode(), response.getStatus());
     }
 
     @Test

Reply via email to