chore: replace given and family names with first and last names (#11343)

# Which Problems Are Solved

Naming inconsistency w.r.t the usage of Given Name / Family Name instead
of First Name / Last Name

# How the Problems Are Solved

* By replacing given and family names with first and last names in UI
and docs (not in the API definitions)
* Updated translations in multiple languages to first and last names
instead of given/family names

# Additional Changes
* Add `internal/**/*.yaml` path to the nx sources input to rebuild the
binary upon changes to these files
* Fix failing unit tests in `user_notifier_legacy_test.go` by updating
`Passwordless` with `Passkey`

# Additional Context
- Closes https://github.com/zitadel/zitadel/issues/11308

---------

Co-authored-by: Copilot <[email protected]>
Co-authored-by: Wim Van Laer <[email protected]>
This commit is contained in:
Gayathri Vijayan
2026-01-15 10:29:48 +00:00
committed by GitHub
co-authored by Copilot Wim Van Laer
parent 2797a0bb03
commit be9d2a53eb
44 changed files with 113 additions and 105 deletions
+2 -1
View File
@@ -9,7 +9,8 @@
"{workspaceRoot}/backend/**/*.go",
"{workspaceRoot}/proto/**/*.go",
"{workspaceRoot}/pkg/**/*.go",
"{workspaceRoot}/main.go"
"{workspaceRoot}/main.go",
"{workspaceRoot}/internal/**/*.yaml"
],
"runtime": [
"sources",
+1 -1
View File
@@ -2337,7 +2337,7 @@
"DISPLAYNAMEATTRIBUTE": "Атрибут за показвано име",
"EMAILATTRIBUTEATTRIBUTE": "Имейл атрибут",
"EMAILVERIFIEDATTRIBUTE": "Атрибут за проверен имейл",
"FIRSTNAMEATTRIBUTE": "Атрибут собствено име",
"FIRSTNAMEATTRIBUTE": "Атрибут име",
"LASTNAMEATTRIBUTE": "Атрибут фамилия",
"NICKNAMEATTRIBUTE": "Атрибут псевдоним",
"PHONEATTRIBUTE": "Атрибут на телефона",
+2 -2
View File
@@ -2325,8 +2325,8 @@
"DISPLAYNAMEATTRIBUTE": "Displayname attribute",
"EMAILATTRIBUTEATTRIBUTE": "Email attribute",
"EMAILVERIFIEDATTRIBUTE": "Email verified attribute",
"FIRSTNAMEATTRIBUTE": "Firstname attribute",
"LASTNAMEATTRIBUTE": "Lastname attribute",
"FIRSTNAMEATTRIBUTE": "Vorname-Attribut",
"LASTNAMEATTRIBUTE": "Nachname-Attribut",
"NICKNAMEATTRIBUTE": "Nickname attribute",
"PHONEATTRIBUTE": "Phone attribute",
"PHONEVERIFIEDATTRIBUTE": "Phone verified attribute",
+6 -6
View File
@@ -971,8 +971,8 @@
"CHANGEUSERNAME": "modify",
"CHANGEUSERNAME_TITLE": "Change username",
"CHANGEUSERNAME_DESC": "Enter the new name in the field below.",
"FIRSTNAME": "Given Name",
"LASTNAME": "Family Name",
"FIRSTNAME": "First Name",
"LASTNAME": "Last Name",
"NICKNAME": "Nickname",
"DISPLAYNAME": "Display Name",
"PREFERREDLOGINNAME": "Preferred login name",
@@ -1864,8 +1864,8 @@
"IU": "Invite User"
},
"CHIPS": {
"firstname": "Given name",
"lastname": "Family name",
"firstname": "First name",
"lastname": "Last name",
"code": "Code",
"preferredLoginName": "Preferred Login Name",
"displayName": "Displayname",
@@ -2336,8 +2336,8 @@
"DISPLAYNAMEATTRIBUTE": "Displayname attribute",
"EMAILATTRIBUTEATTRIBUTE": "Email attribute",
"EMAILVERIFIEDATTRIBUTE": "Email verified attribute",
"FIRSTNAMEATTRIBUTE": "Given name attribute",
"LASTNAMEATTRIBUTE": "Family name attribute",
"FIRSTNAMEATTRIBUTE": "First name attribute",
"LASTNAMEATTRIBUTE": "Last name attribute",
"NICKNAMEATTRIBUTE": "Nickname attribute",
"PHONEATTRIBUTE": "Phone attribute",
"PHONEVERIFIEDATTRIBUTE": "Phone verified attribute",
+2 -2
View File
@@ -2325,8 +2325,8 @@
"DISPLAYNAMEATTRIBUTE": "Atributo Displayname",
"EMAILATTRIBUTEATTRIBUTE": "Atributo Email",
"EMAILVERIFIEDATTRIBUTE": "Atributo Email verificado",
"FIRSTNAMEATTRIBUTE": "Atributo Firstname",
"LASTNAMEATTRIBUTE": "Atributo Lastname",
"FIRSTNAMEATTRIBUTE": "Atributo del nombre",
"LASTNAMEATTRIBUTE": "Atributo del apellido",
"NICKNAMEATTRIBUTE": "Atributo Nickname",
"PHONEATTRIBUTE": "Atributo Phone",
"PHONEVERIFIEDATTRIBUTE": "Atributo phone verificado",
+4 -4
View File
@@ -971,7 +971,7 @@
"CHANGEUSERNAME_TITLE": "Modifier le nom d'utilisateur",
"CHANGEUSERNAME_DESC": "Entrez le nouveau nom dans le champ ci-dessous.",
"FIRSTNAME": "Prénom",
"LASTNAME": "Nom de famille",
"LASTNAME": "Nom",
"NICKNAME": "Surnom",
"DISPLAYNAME": "Nom d'affichage",
"PREFERREDLOGINNAME": "Nom de connexion préféré",
@@ -1861,7 +1861,7 @@
},
"CHIPS": {
"firstname": "Prénom",
"lastname": "Nom de famille",
"lastname": "Nom",
"code": "Code",
"preferredLoginName": "Nom de connexion préféré",
"displayName": "Nom d'affichage",
@@ -2329,8 +2329,8 @@
"DISPLAYNAMEATTRIBUTE": "Displayname attribute",
"EMAILATTRIBUTEATTRIBUTE": "E-mail attribute",
"EMAILVERIFIEDATTRIBUTE": "E-mail verified attribute",
"FIRSTNAMEATTRIBUTE": "Firstname attribute",
"LASTNAMEATTRIBUTE": "Lastname attribute",
"FIRSTNAMEATTRIBUTE": "Attribut du prénom",
"LASTNAMEATTRIBUTE": "Attribut du nom",
"NICKNAMEATTRIBUTE": "Nickname attribute",
"PHONEATTRIBUTE": "Phone attribute",
"PHONEVERIFIEDATTRIBUTE": "Phone verified attribute",
+6 -6
View File
@@ -970,8 +970,8 @@
"CHANGEUSERNAME": "memodifikasi",
"CHANGEUSERNAME_TITLE": "Ubah nama pengguna",
"CHANGEUSERNAME_DESC": "Masukkan nama baru pada kolom di bawah.",
"FIRSTNAME": "Nama Pemberian",
"LASTNAME": "Nama keluarga",
"FIRSTNAME": "Nama depan",
"LASTNAME": "Nama belakang",
"NICKNAME": "Nama panggilan",
"DISPLAYNAME": "Nama Tampilan",
"PREFERREDLOGINNAME": "Nama login pilihan",
@@ -1858,8 +1858,8 @@
"IU": "Mengundang Pengguna"
},
"CHIPS": {
"firstname": "Nama yang diberikan",
"lastname": "Nama keluarga",
"firstname": "Nama depan",
"lastname": "Nama belakang",
"code": "Kode",
"preferredLoginName": "Nama Login Pilihan",
"displayName": "Nama tampilan",
@@ -2330,8 +2330,8 @@
"DISPLAYNAMEATTRIBUTE": "Atribut nama tampilan",
"EMAILATTRIBUTEATTRIBUTE": "Atribut email",
"EMAILVERIFIEDATTRIBUTE": "Atribut terverifikasi email",
"FIRSTNAMEATTRIBUTE": "Atribut nama yang diberikan",
"LASTNAMEATTRIBUTE": "Atribut nama keluarga",
"FIRSTNAMEATTRIBUTE": "Atribut nama depan",
"LASTNAMEATTRIBUTE": "Atribut nama belakang",
"NICKNAMEATTRIBUTE": "Atribut nama panggilan",
"PHONEATTRIBUTE": "Atribut telepon",
"PHONEVERIFIEDATTRIBUTE": "Atribut terverifikasi telepon",
+2 -2
View File
@@ -2329,8 +2329,8 @@
"DISPLAYNAMEATTRIBUTE": "Displayname attribute",
"EMAILATTRIBUTEATTRIBUTE": "Email attribute",
"EMAILVERIFIEDATTRIBUTE": "Email verified attribute",
"FIRSTNAMEATTRIBUTE": "Firstname attribute",
"LASTNAMEATTRIBUTE": "Lastname attribute",
"FIRSTNAMEATTRIBUTE": "Attributi del nome",
"LASTNAMEATTRIBUTE": "Attributi del cognome",
"NICKNAMEATTRIBUTE": "Nickname attribute",
"PHONEATTRIBUTE": "Phone attribute",
"PHONEVERIFIEDATTRIBUTE": "Phone verified attribute",
+2 -2
View File
@@ -2332,8 +2332,8 @@
"DISPLAYNAMEATTRIBUTE": "Displayname attribute",
"EMAILATTRIBUTEATTRIBUTE": "Email attribute",
"EMAILVERIFIEDATTRIBUTE": "Email verified attribute",
"FIRSTNAMEATTRIBUTE": "Firstname attribute",
"LASTNAMEATTRIBUTE": "Lastname attribute",
"FIRSTNAMEATTRIBUTE": "名の属性",
"LASTNAMEATTRIBUTE": "姓の属性",
"NICKNAMEATTRIBUTE": "Nickname attribute",
"PHONEATTRIBUTE": "Phone attribute",
"PHONEVERIFIEDATTRIBUTE": "Phone verified attribute",
+3 -3
View File
@@ -970,7 +970,7 @@
"CHANGEUSERNAME": "промени",
"CHANGEUSERNAME_TITLE": "Промени корисничко име",
"CHANGEUSERNAME_DESC": "Внесете го новото име во полето подолу.",
"FIRSTNAME": "Име",
"FIRSTNAME": "Прво име",
"LASTNAME": "Презиме",
"NICKNAME": "Прекар",
"DISPLAYNAME": "Име за приказ",
@@ -1861,7 +1861,7 @@
"IU": "Покана за корисникот"
},
"CHIPS": {
"firstname": "Име",
"firstname": "Прво име",
"lastname": "Презиме",
"code": "Код",
"preferredLoginName": "Посакувано корисничко име",
@@ -2327,7 +2327,7 @@
"DISPLAYNAMEATTRIBUTE": "Атрибут за име за приказ",
"EMAILATTRIBUTEATTRIBUTE": "Атрибут за е-пошта",
"EMAILVERIFIEDATTRIBUTE": "Атрибут за верифицирана е-пошта",
"FIRSTNAMEATTRIBUTE": "Атрибут за име",
"FIRSTNAMEATTRIBUTE": "Атрибут за прво име",
"LASTNAMEATTRIBUTE": "Атрибут за презиме",
"NICKNAMEATTRIBUTE": "Атрибут за прекар",
"PHONEATTRIBUTE": "Атрибут за телефонски број",
+2 -2
View File
@@ -2328,8 +2328,8 @@
"DISPLAYNAMEATTRIBUTE": "Displayname attribute",
"EMAILATTRIBUTEATTRIBUTE": "Email attribute",
"EMAILVERIFIEDATTRIBUTE": "Email verified attribute",
"FIRSTNAMEATTRIBUTE": "Firstname attribute",
"LASTNAMEATTRIBUTE": "Lastname attribute",
"FIRSTNAMEATTRIBUTE": "Atrybut imienia",
"LASTNAMEATTRIBUTE": "Atrybut nazwiska",
"NICKNAMEATTRIBUTE": "Nickname attribute",
"PHONEATTRIBUTE": "Phone attribute",
"PHONEVERIFIEDATTRIBUTE": "Phone verified attribute",
+2 -2
View File
@@ -2335,8 +2335,8 @@
"DISPLAYNAMEATTRIBUTE": "Görünen ad özniteliği",
"EMAILATTRIBUTEATTRIBUTE": "E-posta özniteliği",
"EMAILVERIFIEDATTRIBUTE": "E-posta doğrulandı özniteliği",
"FIRSTNAMEATTRIBUTE": "Ad özniteliği",
"LASTNAMEATTRIBUTE": "Soyad özniteliği",
"FIRSTNAMEATTRIBUTE": "Ad özelliği",
"LASTNAMEATTRIBUTE": "Soyad özelliği",
"NICKNAMEATTRIBUTE": "Takma ad özniteliği",
"PHONEATTRIBUTE": "Telefon özniteliği",
"PHONEVERIFIEDATTRIBUTE": "Telefon doğrulandı özniteliği",
+5 -5
View File
@@ -971,7 +971,7 @@
"CHANGEUSERNAME_TITLE": "修改用户名称",
"CHANGEUSERNAME_DESC": "在下面的字段中输入新名称。",
"FIRSTNAME": "名字",
"LASTNAME": "姓",
"LASTNAME": "姓氏",
"NICKNAME": "昵称",
"DISPLAYNAME": "展示名称",
"PREFERREDLOGINNAME": "首选登录名",
@@ -1863,8 +1863,8 @@
"IU": "邀请用户"
},
"CHIPS": {
"firstname": "名",
"lastname": "姓",
"firstname": "名字",
"lastname": "姓氏",
"code": "Code",
"preferredLoginName": "首选登录名",
"displayName": "展示名称",
@@ -2340,8 +2340,8 @@
"DISPLAYNAMEATTRIBUTE": "Displayname attribute",
"EMAILATTRIBUTEATTRIBUTE": "Email attribute",
"EMAILVERIFIEDATTRIBUTE": "Email verified attribute",
"FIRSTNAMEATTRIBUTE": "Firstname attribute",
"LASTNAMEATTRIBUTE": "Lastname attribute",
"FIRSTNAMEATTRIBUTE": "姓名属性",
"LASTNAMEATTRIBUTE": "姓氏属性",
"NICKNAMEATTRIBUTE": "Nickname attribute",
"PHONEATTRIBUTE": "Phone attribute",
"PHONEVERIFIEDATTRIBUTE": "Phone verified attribute",
@@ -44,9 +44,9 @@ The first parameter contains the following fields
- `appendMetadata(string, Any)`
The first parameter represents the key and the second a value which will be stored
- `setFirstName(string)`
Sets the given name
Sets the first name
- `setLastName(string)`
Sets the family name
Sets the last name
- `setNickName(string)`
Sets the nickname
- `setDisplayName(string)`
@@ -87,9 +87,9 @@ The trigger is represented by the following Ids in the API: `TRIGGER_TYPE_PRE_CR
- `metadata`
Array of [*metadata*](./objects#metadata-with-value-as-bytes). This function is deprecated, please use `api.v1.user.appendMetadata`
- `setFirstName(string)`
Sets the given name
Sets the first name
- `setLastName(string)`
Sets the family name
Sets the last name
- `setNickName(string)`
Sets the nick name
- `setDisplayName(string)`
+2 -2
View File
@@ -57,9 +57,9 @@ Please check below the matrix for an overview where which scope is asserted.
| email_verified | `true` | Boolean if the email was verified by ZITADEL |
| events | `{ "http://schemas.openid.net/event/backchannel-logout": {} }` | Security Events such as Back-Channel Logout |
| exp | `1311281970` | Time the token expires (as unix time) |
| family_name | `Runner` | The subjects family name |
| family_name | `Runner` | Last name of the subject |
| gender | `other` | Gender of the subject |
| given_name | `Road` | Given name of the subject |
| given_name | `Road` | First name of the subject |
| iat | `1311280970` | Time of the token was issued at (as unix time) |
| iss | `$CUSTOM-DOMAIN` | Issuing domain of a token |
| jti | `69234237813329048` | Unique id of the token |
@@ -53,7 +53,7 @@ To allow ZITADEL to get the information from the authenticating user you have to
1. Click on Token configuration in the side menu
2. Click on "+ Add optional claim"
3. Add email, family_name, given_name and preferred_username to the id token
3. Add email, family_name (last name of the user), given_name (first name of the user) and preferred_username to the id token
![Azure Token configuration](/img/guides/azure_token_configuration.png)
@@ -129,8 +129,8 @@ To provision users correctly in ZITADEL, configure which attributes OneLogin sen
3. Add or edit parameters so that at least the following are sent and **included in the SAML assertion**:
- `email` → mapped to the user’s email address (for example **Email**).
- `firstName` → mapped to the user’s given name (for example **First Name**).
- `lastName` → mapped to the user’s family name (for example **Last Name**).
- `firstName` → mapped to the user’s first name (for example **First Name**).
- `lastName` → mapped to the user’s last name (for example **Last Name**).
4. Ensure the **NameID** is set to a unique identifier (commonly the user’s email address), if your OneLogin connector requires it.
5. Save your changes.
@@ -39,7 +39,7 @@ After the ZITADEL SAML provider exists, we’ll return to PingFederate and finis
2. Make sure **SAML 2.0** Browser SSO is enabled for this connection.
3. Proceed to **Assertion Creation**:
- Keep the default **NameID** attribute.
- Add additional attributes you want to send to ZITADEL (you need at least `email`, `given_name`, `family_name`, and you can send optional attributes like `display_name`).
- Add additional attributes you want to send to ZITADEL (you need at least `email`, `given_name` (first name of the user), `family_name` (last name of the user), and you can send optional attributes like `display_name`).
4. In **Attribute Mapping**, map the contract attributes to your directory/user store fields.
### Export PingFederate IdP metadata
@@ -87,7 +87,7 @@ urn:zitadel:iam:org:id:{id}
```
If the user chooses to register a local account, the register form will be shown.
All the mandatory fields like given name, family name, e-mail and password have to be filled.
All the mandatory fields like first name, last name, e-mail and password have to be filled.
You can only setup authentication with the built-in form.
<img
@@ -10,8 +10,8 @@ By defining multiple schemas, you can even differentiate between different perso
and restrictions, resp. requirements for them to authenticate.
For example, you could have separate schemas for your employees and your customers. While you might want to make sure that
certain data like given name and family name are required for employees, they might be optional for the latter.
Or you might want to disable username password authentication for your admins and only allow phishing resistant methods like passkeys,
certain data, such as the first name and the last name, are required for employees, they might be optional for the latter.
Or you might want to disable username-password authentication for your admins and only allow phishing-resistant methods (e.g., passkeys),
but still allow it for your customers.
:::info
@@ -23,11 +23,11 @@ Do not use it for production yet. To test it out, you need to enable the `UserSc
## Create your first schema
Let's create the first very simple schema `user`, which defines a `givenName` and `familyName` for a user and allows them to
authenticate with username and password.
Let's create your first schema, `user`, which defines a `givenName` (first name) and `familyName` (last name) for a user and allows them to
authenticate with their username and password.
We can do so by calling the [create user schema endpoint](/docs/apis/resources/user_schema_service_v3/user-schema-service-create-user-schema)
with the following data. Make sure to provide an access_token with an IAM_OWNER role.
with the following data. Make sure to provide an `access_token` with an `IAM_OWNER` role.
```bash
curl -X POST "https://$CUSTOM-DOMAIN/v3alpha/user_schemas" \
@@ -67,18 +67,18 @@ This will return something similar to:
}
```
So you successfully create a schema and could use that to manage your users based on that.
But let's first checkout some possibilities ZITADEL offers.
You have now successfully created a schema, which can be used to manage your users.
But let's first check out some possibilities ZITADEL offers.
## Assign Permissions
In the first step we've created a very simple `user` schema with only `givenName` and `familyName`.
This allows any user with the permission to edit the user's data to change these values.
Let's now update the schema and add some more properties and restrict who's able to retrieve and change data.
In the first step we created a very simple `user` schema with only `givenName` (first name) and `familyName` (last name).
This allows any user with permissions to edit the user's data to change these values.
Let's now update the schema to add some more properties and restrict who's able to retrieve and change data.
By setting `urn:zitadel:schema:permission` to fields, we can define the permissions for that field of different user roles / context.
For example by adding it to the `givenName` and `familyName` we can keep the state from before, where any `owner` (e.g. ORG_OWNER)
For example, by adding it to the `givenName` and `familyName` we can keep the state from before, where any `owner` (e.g. ORG_OWNER)
as well as the user themselves (`self`) are allowed to read (`r`) and write (`w`) the data.
Let's now assume our service provides some profile information of the user on a dedicated page.
@@ -136,9 +136,9 @@ curl -X PUT "https://$CUSTOM-DOMAIN/v3alpha/user_schemas/$SCHEMA_ID" \
## Retrieve the Existing Schemas
To check the state of existing schemas you can simply [list them](/apis/resources/user_schema_service_v3/user-schema-service-list-user-schemas).
To check the state of existing schemas, you can simply [list them](/apis/resources/user_schema_service_v3/user-schema-service-list-user-schemas).
In this case we will query for the one with state `active`. Check out the api documentation for detailed information on possible filters.
The API also allows to retrieve a single [schema by ID](/apis/resources/user_schema_service_v3/user-schema-service-get-user-schema-by-id).
The API also allows retrieving a single [schema by ID](/apis/resources/user_schema_service_v3/user-schema-service-get-user-schema-by-id).
```bash
curl -X POST "https://$CUSTOM-DOMAIN/v3alpha/user_schemas/search" \
@@ -162,7 +162,7 @@ curl -X POST "https://$CUSTOM-DOMAIN/v3alpha/user_schemas/search" \
}'
```
If you've followed this guide, it should list you a singe schema:
If you've followed this guide, it should list you a single schema:
```json
{
@@ -226,6 +226,5 @@ If you've followed this guide, it should list you a singe schema:
### Revision
Note the `revision` property, which is currently `2`. Each update to the `schema`-property will increase
it by `1`. The revision will later be reflected on the managed users to state based on which revision of the schema
they were last updated on.
Note the `revision` property, which is currently `2`. Each update to the `schema`-property will increment
it by `1`. This revision number will be stored on managed users to indicate which schema version was used for their last update.
+1 -1
View File
@@ -8,7 +8,7 @@
<td><strong>Basic data</strong></td>
<td>
<ul>
<li>Family and given name</li>
<li>First and last names</li>
<li>Email addresses</li>
<li>User name</li>
</ul>
Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

After

Width:  |  Height:  |  Size: 121 KiB

@@ -465,7 +465,7 @@ func TestBulk(t *testing.T) {
"urn:ietf:params:scim:api:zitadel:messages:2.0:ErrorDetail",
},
ScimType: "invalidValue",
Detail: "Given name in profile is empty",
Detail: "First name in profile is empty",
Status: "400",
ZitadelDetail: &scim.ZitadelErrorDetail{
ID: "USER-UCej2",
+1 -1
View File
@@ -431,7 +431,7 @@ Errors:
NotFound: Профилът не е намерен
NotChanged: Профилът не е променен
Empty: Профилът е празен
FirstNameEmpty: Първото име в профила е празно
FirstNameEmpty: Името в профила е празно
LastNameEmpty: Фамилията в профила е празна
IDMissing: Липсва ID на потребителския профил
Email:
+8 -8
View File
@@ -244,8 +244,8 @@ RegistrationUser:
DescriptionOrgRegister: Enter your Userdata.
EmailLabel: E-Mail
UsernameLabel: Username
FirstnameLabel: Given name
LastnameLabel: Family name
FirstnameLabel: First name
LastnameLabel: Last name
LanguageLabel: Language
German: Deutsch
English: English
@@ -288,8 +288,8 @@ ExternalRegistrationUserOverview:
Description: We have taken your user details from the selected provider. You may now change or complete them.
EmailLabel: E-Mail
UsernameLabel: Username
FirstnameLabel: Given name
LastnameLabel: Family name
FirstnameLabel: First name
LastnameLabel: Last name
NicknameLabel: Nickname
PhoneLabel: Phone number
LanguageLabel: Language
@@ -329,8 +329,8 @@ RegistrationOrg:
OrgNameLabel: Organization name
EmailLabel: E-Mail
UsernameLabel: Username
FirstnameLabel: Given name
LastnameLabel: Family name
FirstnameLabel: First name
LastnameLabel: Last name
PasswordLabel: Password
PasswordConfirmLabel: Password confirmation
TosAndPrivacyLabel: Terms and conditions
@@ -445,8 +445,8 @@ Errors:
NotFound: Profile not found
NotChanged: Profile not changed
Empty: Profile is empty
FirstNameEmpty: Given name in profile is empty
LastNameEmpty: Family name in profile is empty
FirstNameEmpty: First name in profile is empty
LastNameEmpty: Last name in profile is empty
IDMissing: Profile ID is missing
Email:
NotFound: Email not found
+2 -2
View File
@@ -428,8 +428,8 @@ Errors:
NotFound: Perfil no encontrado
NotChanged: El perfil no ha cambiado
Empty: El perfil está vacío
FirstNameEmpty: El nombre del perfil está vacío
LastNameEmpty: Los apellidos del perfil están vacíos
FirstNameEmpty: El nombre en el perfil está vacío
LastNameEmpty: El apellido en el perfil está vacío
IDMissing: Falta el ID del perfil
Email:
NotFound: Email no encontrado
+2 -2
View File
@@ -405,8 +405,8 @@ Errors:
NotFound: Profil nem található
NotChanged: Profil nem változott
Empty: Profil üres
FirstNameEmpty: A profilban a keresztnév üres
LastNameEmpty: A profilban a vezetéknév üres
FirstNameEmpty: A profilban az első név mező üres
LastNameEmpty: A profilban a vezetéknév mező üres
IDMissing: Hiányzik a profil azonosító
Email:
NotFound: Email nem található
+1 -1
View File
@@ -406,7 +406,7 @@ Errors:
NotChanged: Profil tidak berubah
Empty: Profil kosong
FirstNameEmpty: Nama depan di profil kosong
LastNameEmpty: Nama keluarga di profil kosong
LastNameEmpty: Nama belakang di profil kosong
IDMissing: ID Profil tidak ada
Email:
NotFound: Email tidak ditemukan
+2 -2
View File
@@ -446,8 +446,8 @@ Errors:
NotFound: プロファイルが見つかりません
NotChanged: プロファイルが変更されていません
Empty: プロファイルが空です
FirstNameEmpty: 名前が空です
LastNameEmpty: 姓が空です
FirstNameEmpty: プロフィールでは名欄が空白です。
LastNameEmpty: プロフィールでは姓欄が空白です。
IDMissing: プロファイルIDが不足しています
Email:
NotFound: メールアドレスが見つかりません
+2 -2
View File
@@ -445,8 +445,8 @@ Errors:
NotFound: 프로필을 찾을 수 없습니다
NotChanged: 프로필이 변경되지 않았습니다
Empty: 프로필이 비어 있습니다
FirstNameEmpty: 프로필에 이름이 비어 있습니다
LastNameEmpty: 프로필에 성이 비어 있습니다
FirstNameEmpty: 프로필의 이름 필드가 비어 있습니다
LastNameEmpty: 프로필의 성 필드가 비어 있습니다
IDMissing: 프로필 ID가 없습니다
Email:
NotFound: 이메일을 찾을 수 없습니다
+2 -2
View File
@@ -446,8 +446,8 @@ Errors:
NotFound: Профилот не е пронајден
NotChanged: Профилот не е променет
Empty: Профилот е празен
FirstNameEmpty: Името во профилот е празно
LastNameEmpty: Презимето во профилот е празно
FirstNameEmpty: Полето за име на профилот е празно
LastNameEmpty: Полето за презиме на профилот е празно
IDMissing: ID на профил е празно
Email:
NotFound: Е-поштата не е пронајдена
+2 -2
View File
@@ -446,8 +446,8 @@ Errors:
NotFound: Профиль не найден
NotChanged: Профиль не изменен
Empty: Профиль пуст
FirstNameEmpty: Поле имени пусто
LastNameEmpty: Поле фамилии пусто
FirstNameEmpty: Имя в профиле пустое
LastNameEmpty: Фамилия в профиле пустая
IDMissing: Отсутствует идентификатор профиля
Email:
NotFound: Электронная почта не найдена
+2 -2
View File
@@ -445,8 +445,8 @@ Errors:
NotFound: Profilen finns inte
NotChanged: Profilen har inte ändrats
Empty: Profilen saknar innehåll
FirstNameEmpty: Förnamnet i profilen är tomt
LastNameEmpty: Efternamnet i profilen är tomt
FirstNameEmpty: Förnamn i profilen är tomt
LastNameEmpty: Efternamn i profilen är tomt
IDMissing: Profile ID saknas
E-Post:
NotFound: E-Post finns inte
+2 -2
View File
@@ -445,8 +445,8 @@ Errors:
NotFound: Profil bulunamadı
NotChanged: Profil değişmedi
Empty: Profil boş
FirstNameEmpty: Profildeki ad boş
LastNameEmpty: Profildeki soyadı boş
FirstNameEmpty: Profildeki ad alanı boş
LastNameEmpty: Profildeki soyad alanı boş
IDMissing: Profil ID'si eksik
Email:
NotFound: E-posta bulunamadı
+2 -2
View File
@@ -445,8 +445,8 @@ Errors:
NotFound: 未找到个人资料
NotChanged: 个人资料未更改
Empty: 简介是空的
FirstNameEmpty: 简介中的名字是空的
LastNameEmpty: 简介中的姓氏是空的
FirstNameEmpty: 个人资料中的名字为空
LastNameEmpty: 个人资料中的姓氏为空
IDMissing: 简介ID丢失
Email:
NotFound: 电子邮件没有找到
@@ -1091,7 +1091,7 @@ func Test_userNotifierLegacy_reduceDomainClaimed(t *testing.T) {
}
func Test_userNotifierLegacy_reducePasswordlessCodeRequested(t *testing.T) {
expectMailSubject := "Add Passwordless Login"
expectMailSubject := "Add Passkey Login"
tests := []struct {
name string
test func(*gomock.Controller, *mock.MockQueries, *mock.MockCommands) (fields, args, wantLegacy)
+2 -2
View File
@@ -101,8 +101,8 @@ Errors:
NotFound: Profile not found
NotChanged: Profile not changed
Empty: Profile is empty
FirstNameEmpty: Given name in profile is empty
LastNameEmpty: Family name in profile is empty
FirstNameEmpty: First name in profile is empty
LastNameEmpty: Last name in profile is empty
IDMissing: Profile ID is missing
Email:
NotFound: Email not found
+2 -2
View File
@@ -364,7 +364,7 @@ service AuthService {
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
tags: "User Profile";
summary: "Get My Profile";
description: "Returns the profile information of the authenticated user, this includes given name, family name, etc."
description: "Returns the profile information of the authenticated user, this includes first name, last name, etc."
};
}
@@ -381,7 +381,7 @@ service AuthService {
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
tags: "User Profile";
summary: "Update My Profile";
description: "Change the profile information of the authenticated user. This includes information like given name, family name, language, etc."
description: "Change the profile information of the authenticated user. This includes information like first name, last name, language, etc."
};
}
@@ -175,7 +175,7 @@ service InstanceService {
//
// Deprecated: please move to the corresponding endpoint under instance service v2. This endpoint will be removed with the next major version of ZITADEL.
//
// Updates instance in context with the given name.
// Updates instance in context with the provided name.
//
// The instance_id in the input message will be used in the future.
//
@@ -47,7 +47,7 @@ message User {
string preferred_login_name = 2;
// DisplayName is the public display name of the user.
// By default it's the user's given name and family name, their username or their email address.
// By default it's the user's first name and last name, their username or their email address.
string display_name = 3;
// The organization the user belong to.
@@ -37,7 +37,7 @@ message User {
// PreferredLoginName is the preferred login name of the user. This value is unique across the whole instance.
string preferred_login_name = 2;
// DisplayName is the public display name of the user.
// By default it's the user's given name and family name, their username or their email address.
// By default it's the user's first name and last name, their username or their email address.
string display_name = 3;
// The organization the user belong to.
string organization_id = 4;
+1 -1
View File
@@ -2285,7 +2285,7 @@ service ManagementService {
//
// Deprecated: use [organization service v2 CreateOrganization](apis/resources/org_service_v2/zitadel-org-v-2-organization-service-add-organization.api.mdx) instead
//
// Create a new organization. Based on the given name a domain will be generated to be able to identify users within an organization.
// Create a new organization. Based on the provided name a domain will be generated to be able to identify users within an organization.
rpc AddOrg(AddOrgRequest) returns (AddOrgResponse) {
option (google.api.http) = {
post: "/orgs"
+4
View File
@@ -20,6 +20,7 @@ enum Gender {
}
message SetHumanProfile {
// The given name is the first name of the user
string given_name = 1 [
(validate.rules).string = {min_len: 1, max_len: 200},
(google.api.field_behavior) = REQUIRED,
@@ -29,6 +30,7 @@ message SetHumanProfile {
example: "\"Minnie\"";
}
];
// The family name is the last name of the user
string family_name = 2 [
(validate.rules).string = {min_len: 1, max_len: 200},
(google.api.field_behavior) = REQUIRED,
@@ -67,6 +69,7 @@ message SetHumanProfile {
}
message HumanProfile {
// The given name is the first name of the user
string given_name = 1 [
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
min_length: 1;
@@ -74,6 +77,7 @@ message HumanProfile {
example: "\"Minnie\"";
}
];
// The family name is the last name of the user
string family_name = 2 [
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
min_length: 1;
+4
View File
@@ -20,6 +20,7 @@ enum Gender {
}
message SetHumanProfile {
// The given name is the first name of the user
string given_name = 1 [
(validate.rules).string = {min_len: 1, max_len: 200},
(google.api.field_behavior) = REQUIRED,
@@ -29,6 +30,7 @@ message SetHumanProfile {
example: "\"Minnie\"";
}
];
// The family name is the last name of the user
string family_name = 2 [
(validate.rules).string = {min_len: 1, max_len: 200},
(google.api.field_behavior) = REQUIRED,
@@ -67,6 +69,7 @@ message SetHumanProfile {
}
message HumanProfile {
// The given name is the first name of the user
string given_name = 1 [
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
min_length: 1;
@@ -74,6 +77,7 @@ message HumanProfile {
example: "\"Minnie\"";
}
];
// The family name is the last name of the user
string family_name = 2 [
(grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = {
min_length: 1;