[ https://issues.apache.org/jira/browse/SYNCOPE-313?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14048797#comment-14048797 ]
Colm O hEigeartaigh commented on SYNCOPE-313: --------------------------------------------- Integration tests merged for SYNCOPE-505. Is there any example of a SyncTask executing successfully in the integration test-code? The idea I had was to extend the tests in SYNCOPE-505, by changing the local password, and then sync'ing from the resource again + checking the password was changed. When I add a SyncTask via something like this, it doesn't seem to have fired (in time?) and the user is not updated: SyncTaskTO syncTask = new SyncTaskTO(); syncTask.setName("DB Sync Task"); syncTask.setDescription("DB Sync Task description"); syncTask.setPerformCreate(true); syncTask.setPerformUpdate(true); syncTask.setFullReconciliation(true); syncTask.setResource(RESOURCE_NAME_TESTDB); syncTask.setStartDate(new Date()); syncTask.getActionsClassNames().add(DBPasswordSyncActions.class.getName()); Response taskResponse = taskService.create(syncTask); String taskId = taskResponse.getHeaderString(RESTHeaders.RESOURCE_ID); TaskExecTO taskExec = taskService.execute(Long.valueOf(taskId), false); Any ideas? Colm. > Support synchronizing non-cleartext passwords from external resources > --------------------------------------------------------------------- > > Key: SYNCOPE-313 > URL: https://issues.apache.org/jira/browse/SYNCOPE-313 > Project: Syncope > Issue Type: Improvement > Reporter: Colm O hEigeartaigh > Assignee: Colm O hEigeartaigh > Fix For: 1.2.0 > > > Currently we can synchronize cleartext passwords from external resources. > However, we can't handle non-cleartext passwords, as they get treated as if > they are plaintext passwords when imported into Syncope, and hence hashed > again according to user.cipherAlgorithm(). > This task is to treat an imported password as hashed according to a give > cipher algorithm configured on the connector (for example via 'Password > Cipher Algorithm' for the DB Connector). > This is specific to each individual connector, as for example for the DB > Connector, it might just be a hashed value stored in a table, whereas for > LDAP it'll be of the form "CIPHER}VALUE" etc. > Note that we we cannot refer to any specific connector bundle from inside the > SyncopeSyncResultHandler, hence we should find the cleanest place to > encapsulate the following logic: > if (password.isClearText()) { > // do as currently done > } else { > if (connector.isLDAP()) { > // extract cipher and value > } else if (connector.isDBTable()) { > // treat value as ciphered with the cipher defined in connector > configuration > } else { > ... > } > } -- This message was sent by Atlassian JIRA (v6.2#6252)