PingOne Advanced Identity Cloud

Remote proxy scripting examples

After you’ve created a mapping, you can manage the receiving Advanced Identity Cloud tenant or PingIDM instance using a script function:

Query remote users

// Query users from receiving tenant
var remoteUsers = openidm.query(
  "external/idm/<receiving-tenant-name>/managed/realm-name_user",
  {
    "_queryFilter": "userName eq 'bjensen'"
  }
);

logger.info("Found {} remote users", remoteUsers.result.length);

Create a user on the receiving tenant

var newUser = openidm.create(
  "external/idm/<receiving-tenant-name>/managed/realm-name_user",
  null,
  {
    "userName": "jdoe",
    "givenName": "John",
    "sn": "Doe",
    "mail": "jdoe@example.com",
    "password": "<password>"
  }
);

logger.info("Created remote user: {}", newUser._id);

Update a remote user

var updatedUser = openidm.patch(
  "external/idm/<receiving-tenant-name>/managed/realm-name_user/95b2b43c-621e-4bca-8a97-efc768f17751",
  null,
  [
    {
      "operation": "replace",
      "field": "/mail",
      "value": "newemail@example.com"
    }
  ]
);