Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add attribute profiles feature docs #4985

Merged
merged 6 commits into from
Jan 28, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
122 changes: 102 additions & 20 deletions en/includes/guides/users/attributes/manage-attributes.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,12 @@ Apart from the default attributes, you may define your own custom attributes by

4. Click **Finish**.

## Update attributes
{% if product_name == "WSO2 Identity Server" and is_version != "7.0.0" %}

## Configure attribute

### Update attribute properties

To update the properties of a user attribute:

1. On the {{ product_name }} Console, go to **User Attributes & Stores** > **Attributes**.
Expand All @@ -69,28 +74,105 @@ To update the properties of a user attribute:

<table>
<tbody>
<tr>
<td><b>Attribute Display Name</b></td>
<td>Update the display name of the attribute that will show in user profiles.</td>
</tr>
<tr>
<td><b>Description</b></td>
<td>Update the description for the attribute.</td>
</tr>
<tr>
<td><b>Attribute Display Name</b></td>
<td>Update the display name of the attribute that will show in user profiles.</td>
</tr>
<tr>
<td><b>Description</b></td>
<td>Update the description for the attribute.</td>
</tr>
<tr>
<td><b>Regular expression</b></td>
<td>The value of the attribute will be validated against the regex pattern specified here.</td>
</tr>
<tr>
<td><b>Shared Profile Value Resolving Method</b></td>
<td>The method to determine the value of the attribute for shared user profiles in child organizations.
<ul>
<li><b>From Origin:</b> The value will be taken from the user origin organization's profile.</li>
<li><b>From Shared Profile:</b> The value will be taken from the shared profile, if available.</li>
<li><b>From First Found in Hierarchy:</b> The value will be determined from the first non-null profile value found in the organization hierarchy.</li>
</ul>
For {{ product_name }} defined attributes, the `Shared Profile Value Resolving Method` cannot be changed at the moment. However, for custom attributes, you can decide the appropriate resolving method.</td>
</tr>
</tbody>
</table>

### Configure attribute profiles

![Edit attributes]({{base_path}}/assets/img/guides/organization/attributes/configure-attribute-profiles.png){: width="600" style="display: block; margin: 0; border: 0.3px solid lightgrey;"}

You can control how attributes appear and behave in different user profiles by configuring attribute properties. Currently, the following profiles are supported:

- Administrator Console: User profile in the Administrator Console.
- End-User Profile: User profile in My Account.
- Self-Registration: User profile in self-registration.

For each profile, you can configure the following properties:

<table>
<tbody>
<tr>
<td><b>Display this attribute on the user's profile</b></td>
<td>If this checkbox is selected, the attribute is displayed in user profiles.</ td>
</tr>
<tr>
<td><b>Make this attribute required on user's profile</b></td>
<td>If this checkbox is selected, users are required to specify a value for this attribute on their profile.</td>
</tr>
<tr>
<td><b>Make this attribute read-only on user's profile</b></td>
<td>If this checkbox is selected, the value for this attribute will be read-only in user profiles.</td>
</tr>
<td><b>Display</b></td>
<td>If this checkbox is selected, the attribute is displayed in relevant profiles.</ td>
</tr>
<tr>
<td><b>Required</b></td>
<td>If this checkbox is selected, users are required to specify a value for this attribute on relevant profiles.</td>
</tr>
<tr>
<td><b>Read-only</b></td>
<td>If this checkbox is selected, the value for this attribute will be read-only in relevant profiles.</td>
</tr>
</tbody>
</table>

{% else %}

## Configure attribute
To update the properties of a user attribute:

1. On the {{ product_name }} Console, go to **User Attributes & Stores** > **Attributes**.
2. Under **Manage Attributes**, click **Attributes** to view the list of all attributes.
3. Click **Edit** for the attribute you want to update.

![Edit attributes]({{base_path}}/assets/img/guides/organization/attributes/edit-attributes-general.png){: width="600" style="display: block; margin: 0; border: 0.3px solid lightgrey;"}

!!! note
The **Attribute** field specifies the unique identifier of the attribute. It always starts with `http://wso2.org/claims`. This cannot be edited.

4. In the **General** tab, update the following values.

<table>
<tbody>
<tr>
<td><b>Attribute Display Name</b></td>
<td>Update the display name of the attribute that will show in user profiles.</td>
</tr>
<tr>
<td><b>Description</b></td>
<td>Update the description for the attribute.</td>
</tr>
<tr>
<td><b>Display this attribute on the user's profile</b></td>
<td>If this checkbox is selected, the attribute is displayed in user profiles.</ td>
</tr>
<tr>
<td><b>Regular expression</b></td>
<td>The value of the attribute will be validated against the regex pattern specified here.</td>
</tr>
<tr>
<td><b>Make this attribute required on user's profile</b></td>
<td>If this checkbox is selected, users are required to specify a value for this attribute on their profile.</td>
</tr>
<tr>
<td><b>Make this attribute read-only on user's profile</b></td>
<td>If this checkbox is selected, the value for this attribute will be read-only in user profiles.</td>
</tr>
</tbody>
</table>
{% endif %}

5. Go to the **Attribute Mappings** tab and enter the attribute from each user store that you need to map.

Expand Down