keycloak-scim/server_development/topics/custom-attributes.adoc

54 lines
2.2 KiB
Text
Raw Normal View History

[[_custom_user_attributes]]
== Custom User Attributes
2016-04-18 21:02:18 +00:00
You can add custom user attributes to the registration page and account management console with a custom theme. This chapter describes how to add attributes
2017-08-28 12:50:14 +00:00
to a custom theme, but you should refer to the <<_themes,Themes>> chapter on how to create a custom theme.
2016-04-18 21:02:18 +00:00
=== Registration Page
2016-04-18 21:02:18 +00:00
To be able to enter custom attributes in the registration page copy the template `themes/base/login/register.ftl` to the login type of your custom theme. Then
open the copy in an editor.
2016-04-18 21:02:18 +00:00
As an example to add a mobile number to the registration page add the following snippet to the form:
2016-04-18 21:02:18 +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!}">
2016-04-18 21:02:18 +00:00
<input type="text" class="${properties.kcInputClass!}" id="user.attributes.mobile" name="user.attributes.mobile"/>
</div>
</div>
----
Ensure the name of the input html element starts with `user.attributes.`. In the example above, the attribute will be stored by Keycloak with the name `mobile`.
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
=== Account Management Console
2016-04-18 21:02:18 +00:00
2017-03-17 08:24:20 +00:00
To be able to manage custom attributes in the user profile page in the account management console copy the template `themes/base/account/account.ftl` to the
account type of your custom theme. Then open the copy in an editor.
2016-04-18 21:02:18 +00:00
As an example to add a mobile number to the account page add the following snippet to the form:
2016-04-18 21:02:18 +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">
<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>
----
Ensure the name of the input html element starts with `user.attributes.`.
2017-03-17 08:24:20 +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.