2023-05-22 17:09:01 +00:00
2018-02-07 14:53:22 +00:00
[[_custom_user_attributes]]
2021-06-23 18:10:41 +00:00
== Custom user attributes
2016-04-18 21:02:18 +00:00
2021-06-23 18:10:41 +00:00
You can add custom user attributes to the registration page and account management console with a custom theme.
2016-04-18 21:02:18 +00:00
2021-06-23 18:10:41 +00:00
=== Registration page
2016-04-18 21:02:18 +00:00
2021-06-23 18:10:41 +00:00
Use this procedure to enter custom attributes in the registration page.
.Procedure
2022-03-23 14:34:07 +00:00
. Copy the template `themes/base/login/register.ftl` to the login type of your custom theme.
2021-06-23 18:10:41 +00:00
2022-03-23 14:34:07 +00:00
. Open the copy in an editor.
2021-06-23 18:10:41 +00:00
+
For example, to add a mobile number to the registration page, add the following snippet to the form:
+
2016-05-31 18:39:12 +00:00
[source,html]
2016-04-18 21:02:18 +00:00
----
<div class="form-group">
<div class="${properties.kcLabelWrapperClass!}">
<label for="user.attributes.mobile" class="${properties.kcLabelClass!}">Mobile number</label>
</div>
2017-05-25 07:58:18 +00:00
<div class="${properties.kcInputWrapperClass!}">
2019-06-13 00:45:56 +00:00
<input type="text" class="${properties.kcInputClass!}" id="user.attributes.mobile" name="user.attributes.mobile" value="${(register.formData['user.attributes.mobile']!'')}"/>
2016-04-18 21:02:18 +00:00
</div>
</div>
----
2022-03-23 14:34:07 +00:00
. Ensure the name of the input html element starts with `user.attributes`. In the example above, the attribute will be stored by {project_name} with the name `mobile`.
2018-12-04 11:51:17 +00:00
2021-06-23 18:10:41 +00:00
. To see the changes, make sure your realm is using your custom theme for the login theme and open the registration page.
2016-04-18 21:02:18 +00:00
2016-05-31 18:39:12 +00:00
=== Account Management Console
2016-04-18 21:02:18 +00:00
2021-06-23 18:10:41 +00:00
Use this procedure to manage custom attributes in the user profile page in the account management console.
2016-04-18 21:02:18 +00:00
2021-06-23 18:10:41 +00:00
.Procedure
2022-03-23 14:34:07 +00:00
. Copy the template `themes/base/account/account.ftl` to the
2021-06-23 18:10:41 +00:00
account type of your custom theme.
2016-04-18 21:02:18 +00:00
2021-06-23 18:10:41 +00:00
. Open the copy in an editor.
+
As an example to add a mobile number to the account page add the following snippet to the form:
+
2016-05-31 18:39:12 +00:00
[source,html]
2016-04-18 21:02:18 +00:00
----
<div class="form-group">
<div class="col-sm-2 col-md-2">
<label for="user.attributes.mobile" class="control-label">Mobile number</label>
</div>
<div class="col-sm-10 col-md-10">
2018-11-19 12:44:59 +00:00
<input type="text" class="form-control" id="user.attributes.mobile" name="user.attributes.mobile" value="${(account.attributes.mobile!'')}"/>
2016-04-18 21:02:18 +00:00
</div>
</div>
----
2016-05-31 18:39:12 +00:00
2022-03-23 14:34:07 +00:00
. Ensure the name of the input html element starts with `user.attributes`.
2018-12-04 11:51:17 +00:00
2021-06-23 18:10:41 +00:00
. To see the changes, make sure your realm is using your custom theme for the account theme and open the user profile page in the account management console.
2022-03-23 14:34:07 +00:00
[role="_additional-resources"]
=== Additional resources
* See <<_themes,Themes>> for how to create a custom theme.