This function is used to sync (save) a user's information to the Permit.io cloud and PDP (Policy Decision Point) upon user creation.
This function should be used for the initial creation of the user. This means that when you need to have the user synced between your authentication solution and Permit, this is the function you need to use.
Once the user has been synced with Permit, you should not use this sdk call to update the user's role.
Instead, you should use the assignRole function.
user - An object that contains the information about the user. The payload is defined below.
key - A unique id by which Permit will identify the user for permission checks.
You will later pass this ID to the
You can use anything for this ID - the user email, a UUID or anything else as long as it's unique on your end.
The user key must be url-friendly (slugified).
firstName - optional - First name of the user.
lastName - optional - Last name of the user.
attributes - optional - Arbitraty user attributes that will be used to enforce attribute-based access control policies.
// optional attributes for attribute-based access control
HashMap<String, Object> userAttributes = new HashMap<>();
// this is how you sync the user
CreateOrUpdateResult<UserRead> result = permit.api.users.sync(
UserRead user = result.getResult();
boolean wasCreated = result.wasCreated();