This mostly matches the default configuration, but notably does not make the lastName field mandatory, in order to accommodate mononymy. Change-Id: I47ca86a179eb9b7dcf5f3e761681c78e22f5265c Fixes: https://git.snix.dev/snix/snix/issues/104 Reviewed-on: https://cl.snix.dev/c/snix/+/30289 Reviewed-by: Florian Klink <flokli@flokli.de> Tested-by: besadii
		
			
				
	
	
		
			94 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			HCL
		
	
	
	
	
	
			
		
		
	
	
			94 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			HCL
		
	
	
	
	
	
| resource "keycloak_realm_user_profile" "user_profile" {
 | |
|   realm_id = keycloak_realm.snix.id
 | |
| 
 | |
|   # Username attribute
 | |
|   attribute {
 | |
|     name         = "username"
 | |
|     display_name = "$${username}"
 | |
|     permissions {
 | |
|       view = ["admin", "user"]
 | |
|       edit = ["admin", "user"]
 | |
|     }
 | |
|     validator {
 | |
|       name = "length"
 | |
|       config = {
 | |
|         min = "3"
 | |
|         max = "255"
 | |
|       }
 | |
|     }
 | |
|     validator {
 | |
|       name = "username-prohibited-characters"
 | |
|     }
 | |
|     validator {
 | |
|       name = "up-username-not-idn-homograph"
 | |
|     }
 | |
|   }
 | |
| 
 | |
|   # Email attribute
 | |
|   attribute {
 | |
|     name         = "email"
 | |
|     display_name = "$${email}"
 | |
|     required_for_roles = ["user"]
 | |
|     permissions {
 | |
|       view = ["admin", "user"]
 | |
|       edit = ["admin", "user"]
 | |
|     }
 | |
|     validator {
 | |
|       name = "email"
 | |
|     }
 | |
|     validator {
 | |
|       name = "length"
 | |
|       config = {
 | |
|         max = "255"
 | |
|       }
 | |
|     }
 | |
|   }
 | |
| 
 | |
|   # First Name attribute
 | |
|   attribute {
 | |
|     name         = "firstName"
 | |
|     display_name = "$${firstName}"
 | |
|     required_for_roles = ["user"]
 | |
|     permissions {
 | |
|       view = ["admin", "user"]
 | |
|       edit = ["admin", "user"]
 | |
|     }
 | |
|     validator {
 | |
|       name = "length"
 | |
|       config = {
 | |
|         max = "255"
 | |
|       }
 | |
|     }
 | |
|     validator {
 | |
|       name = "person-name-prohibited-characters"
 | |
|     }
 | |
|   }
 | |
| 
 | |
|   # Last Name attribute
 | |
|   attribute {
 | |
|     name         = "lastName"
 | |
|     display_name = "$${lastName}"
 | |
|     # NOTE(edef): explicitly not required, to accommodate mononymy
 | |
|     # required_for_roles = ["user"]
 | |
|     permissions {
 | |
|       view = ["admin", "user"]
 | |
|       edit = ["admin", "user"]
 | |
|     }
 | |
|     validator {
 | |
|       name = "length"
 | |
|       config = {
 | |
|         max = "255"
 | |
|       }
 | |
|     }
 | |
|     validator {
 | |
|       name = "person-name-prohibited-characters"
 | |
|     }
 | |
|   }
 | |
| 
 | |
|   # User metadata group
 | |
|   group {
 | |
|     name                = "user-metadata"
 | |
|     display_header      = "User metadata"
 | |
|     display_description = "Attributes, which refer to user metadata"
 | |
|   }
 | |
| }
 |