Compare commits

...

2 Commits

Author SHA1 Message Date
copilot-swe-agent[bot]
c1204ccfa3 Add {NameID}/{{NameID}} variable support in SAML attribute values
Co-authored-by: hsluoyz <3787410+hsluoyz@users.noreply.github.com>
2026-03-04 14:01:40 +00:00
copilot-swe-agent[bot]
926e363277 Initial plan 2026-03-04 13:51:17 +00:00
13 changed files with 48 additions and 35 deletions

View File

@@ -132,7 +132,9 @@ func NewSamlResponse(application *Application, user *User, host string, certific
role.CreateAttr("Name", item.Name)
role.CreateAttr("NameFormat", item.NameFormat)
valueList := replaceAttributeValue(user, item.Value)
itemValue := strings.ReplaceAll(item.Value, "{{NameID}}", nameIDValue)
itemValue = strings.ReplaceAll(itemValue, "{NameID}", nameIDValue)
valueList := replaceAttributeValue(user, itemValue)
for _, value := range valueList {
av := role.CreateElement("saml:AttributeValue")
av.CreateAttr("xsi:type", "xs:string").Element().SetText(value)

View File

@@ -168,7 +168,8 @@
"Use Email as NameID": "E-Mail als NameID verwenden",
"Use Email as NameID - Tooltip": "E-Mail als NameID verwenden",
"Vertical": "Vertikal",
"You are unexpected to see this prompt page": "Sie sind unerwartet auf diese Aufforderungsseite gelangt"
"You are unexpected to see this prompt page": "Sie sind unerwartet auf diese Aufforderungsseite gelangt",
"e.g. {NameID}, $user.name, $user.email": "z.B. {NameID}, $user.name, $user.email"
},
"cert": {
"Bit size": "Bitgröße",
@@ -570,7 +571,7 @@
"Physical": "Physisch",
"Show all": "Alle anzeigen",
"Virtual": "Virtuell",
"You need to delete all subgroups first. You can view the subgroups in the left group tree of the [Organizations] -\u003e [Groups] page": "Sie müssen zuerst alle Untergruppen löschen. Sie können die Untergruppen im linken Gruppenbaum unter [Organisationen] -\u003e [Gruppen] anzeigen."
"You need to delete all subgroups first. You can view the subgroups in the left group tree of the [Organizations] -> [Groups] page": "Sie müssen zuerst alle Untergruppen löschen. Sie können die Untergruppen im linken Gruppenbaum unter [Organisationen] -> [Gruppen] anzeigen."
},
"home": {
"New users past 30 days": "Neue Benutzer der letzten 30 Tage",
@@ -1504,4 +1505,4 @@
"Single org only - Tooltip": "Nur in der Organisation auslösen, zu der der Webhook gehört",
"Value": "Wert"
}
}
}

View File

@@ -168,7 +168,8 @@
"Use Email as NameID": "Use Email as NameID",
"Use Email as NameID - Tooltip": "Use Email as NameID",
"Vertical": "Vertical",
"You are unexpected to see this prompt page": "You are unexpected to see this prompt page"
"You are unexpected to see this prompt page": "You are unexpected to see this prompt page",
"e.g. {NameID}, $user.name, $user.email": "e.g. {NameID}, $user.name, $user.email"
},
"cert": {
"Bit size": "Bit size",
@@ -570,7 +571,7 @@
"Physical": "Physical",
"Show all": "Show all",
"Virtual": "Virtual",
"You need to delete all subgroups first. You can view the subgroups in the left group tree of the [Organizations] -\u003e [Groups] page": "You need to delete all subgroups first. You can view the subgroups in the left group tree of the [Organizations] -\u003e [Groups] page"
"You need to delete all subgroups first. You can view the subgroups in the left group tree of the [Organizations] -> [Groups] page": "You need to delete all subgroups first. You can view the subgroups in the left group tree of the [Organizations] -> [Groups] page"
},
"home": {
"New users past 30 days": "New users past 30 days",
@@ -1504,4 +1505,4 @@
"Single org only - Tooltip": "Triggered only in the organization that the webhook belongs to",
"Value": "Value"
}
}
}

View File

@@ -168,7 +168,8 @@
"Use Email as NameID": "Usar correo electrónico como NameID",
"Use Email as NameID - Tooltip": "Usar correo electrónico como NameID - Información adicional",
"Vertical": "Vertical",
"You are unexpected to see this prompt page": "Es inesperado ver esta página de inicio"
"You are unexpected to see this prompt page": "Es inesperado ver esta página de inicio",
"e.g. {NameID}, $user.name, $user.email": "p.ej. {NameID}, $user.name, $user.email"
},
"cert": {
"Bit size": "Tamaño de bit",
@@ -570,7 +571,7 @@
"Physical": "Físico",
"Show all": "Mostrar todos",
"Virtual": "Virtual",
"You need to delete all subgroups first. You can view the subgroups in the left group tree of the [Organizations] -\u003e [Groups] page": "Necesitas eliminar todos los subgrupos primero. Puedes ver los subgrupos en el árbol de grupos a la izquierda en la página [Organizaciones] -\u003e [Grupos]"
"You need to delete all subgroups first. You can view the subgroups in the left group tree of the [Organizations] -> [Groups] page": "Necesitas eliminar todos los subgrupos primero. Puedes ver los subgrupos en el árbol de grupos a la izquierda en la página [Organizaciones] -> [Grupos]"
},
"home": {
"New users past 30 days": "Nuevos usuarios en los últimos 30 días",
@@ -1504,4 +1505,4 @@
"Single org only - Tooltip": "Activado solo en la organización a la que pertenece el webhook",
"Value": "Valor"
}
}
}

View File

@@ -168,7 +168,8 @@
"Use Email as NameID": "Utiliser l'e-mail comme NameID",
"Use Email as NameID - Tooltip": "Utiliser l'e-mail comme NameID - Infobulle",
"Vertical": "Vertical",
"You are unexpected to see this prompt page": "Il n'était pas prévu que vous voyez cette page de saisie"
"You are unexpected to see this prompt page": "Il n'était pas prévu que vous voyez cette page de saisie",
"e.g. {NameID}, $user.name, $user.email": "p.ex. {NameID}, $user.name, $user.email"
},
"cert": {
"Bit size": "Taille (bits)",
@@ -570,7 +571,7 @@
"Physical": "Physique",
"Show all": "Afficher tout",
"Virtual": "Virtuel",
"You need to delete all subgroups first. You can view the subgroups in the left group tree of the [Organizations] -\u003e [Groups] page": "Vous devez d'abord supprimer tous les sous-groupes. Vous pouvez voir les sous-groupes dans l'arborescence des groupes à gauche de la page [Organisations] -\u003e [Groupes]"
"You need to delete all subgroups first. You can view the subgroups in the left group tree of the [Organizations] -> [Groups] page": "Vous devez d'abord supprimer tous les sous-groupes. Vous pouvez voir les sous-groupes dans l'arborescence des groupes à gauche de la page [Organisations] -> [Groupes]"
},
"home": {
"New users past 30 days": "Nouveaux utilisateurs ces 30 derniers jours",
@@ -1504,4 +1505,4 @@
"Single org only - Tooltip": "Déclenché uniquement dans l'organisation à laquelle appartient le webhook",
"Value": "Valeur"
}
}
}

View File

@@ -168,7 +168,8 @@
"Use Email as NameID": "メールアドレスをNameIDとして使用",
"Use Email as NameID - Tooltip": "メールアドレスをNameIDとして使用 - ツールチップ",
"Vertical": "垂直",
"You are unexpected to see this prompt page": "このプロンプトページを見ることは予期せぬことである"
"You are unexpected to see this prompt page": "このプロンプトページを見ることは予期せぬことである",
"e.g. {NameID}, $user.name, $user.email": "例: {NameID}, $user.name, $user.email"
},
"cert": {
"Bit size": "ビットサイズ",
@@ -570,7 +571,7 @@
"Physical": "物理",
"Show all": "すべて表示",
"Virtual": "仮想",
"You need to delete all subgroups first. You can view the subgroups in the left group tree of the [Organizations] -\u003e [Groups] page": "最初にすべてのサブグループを削除する必要があります。[組織] -\u003e [グループ]ページの左側のグループツリーでサブグループを確認できます"
"You need to delete all subgroups first. You can view the subgroups in the left group tree of the [Organizations] -> [Groups] page": "最初にすべてのサブグループを削除する必要があります。[組織] -> [グループ]ページの左側のグループツリーでサブグループを確認できます"
},
"home": {
"New users past 30 days": "過去30日間の新規ユーザー",
@@ -1504,4 +1505,4 @@
"Single org only - Tooltip": "Webhookが属する組織でのみトリガーされます",
"Value": "値"
}
}
}

View File

@@ -168,7 +168,8 @@
"Use Email as NameID": "Użyj e-maila jako NameID",
"Use Email as NameID - Tooltip": "Użyj e-maila jako NameID - Podpowiedź",
"Vertical": "Pionowy",
"You are unexpected to see this prompt page": "Nieoczekiwanie widzisz tę stronę monitu"
"You are unexpected to see this prompt page": "Nieoczekiwanie widzisz tę stronę monitu",
"e.g. {NameID}, $user.name, $user.email": "np. {NameID}, $user.name, $user.email"
},
"cert": {
"Bit size": "Rozmiar bitów",
@@ -570,7 +571,7 @@
"Physical": "Fizyczna",
"Show all": "Pokaż wszystko",
"Virtual": "Wirtualna",
"You need to delete all subgroups first. You can view the subgroups in the left group tree of the [Organizations] -\u003e [Groups] page": "Musisz najpierw usunąć wszystkie podgrupy. Możesz przeglądać podgrupy w lewym drzewie grup na stronie [Organizacje] -\u003e [Grupy]"
"You need to delete all subgroups first. You can view the subgroups in the left group tree of the [Organizations] -> [Groups] page": "Musisz najpierw usunąć wszystkie podgrupy. Możesz przeglądać podgrupy w lewym drzewie grup na stronie [Organizacje] -> [Grupy]"
},
"home": {
"New users past 30 days": "Nowi użytkownicy w ciągu ostatnich 30 dni",
@@ -1504,4 +1505,4 @@
"Single org only - Tooltip": "Wyzwalane tylko w organizacji, do której należy webhook",
"Value": "Wartość"
}
}
}

View File

@@ -168,7 +168,8 @@
"Use Email as NameID": "Usar e-mail como NameID",
"Use Email as NameID - Tooltip": "Dica: usar e-mail como NameID",
"Vertical": "Vertical",
"You are unexpected to see this prompt page": "Você não deveria ver esta página de prompt"
"You are unexpected to see this prompt page": "Você não deveria ver esta página de prompt",
"e.g. {NameID}, $user.name, $user.email": "p.ex. {NameID}, $user.name, $user.email"
},
"cert": {
"Bit size": "Tamanho do bit",
@@ -570,7 +571,7 @@
"Physical": "Físico",
"Show all": "Mostrar todos",
"Virtual": "Virtual",
"You need to delete all subgroups first. You can view the subgroups in the left group tree of the [Organizations] -\u003e [Groups] page": "Você precisa excluir todos os subgrupos primeiro. Você pode visualizar os subgrupos na árvore de grupos à esquerda na página [Organizações] -\u003e [Grupos]"
"You need to delete all subgroups first. You can view the subgroups in the left group tree of the [Organizations] -> [Groups] page": "Você precisa excluir todos os subgrupos primeiro. Você pode visualizar os subgrupos na árvore de grupos à esquerda na página [Organizações] -> [Grupos]"
},
"home": {
"New users past 30 days": "Novos usuários nos últimos 30 dias",
@@ -1504,4 +1505,4 @@
"Single org only - Tooltip": "Acionado apenas na organização a qual o webhook pertence",
"Value": "Valor"
}
}
}

View File

@@ -168,7 +168,8 @@
"Use Email as NameID": "NameID olarak E-posta kullan",
"Use Email as NameID - Tooltip": "NameID olarak E-posta kullanın - Araç ipucu",
"Vertical": "Dikey",
"You are unexpected to see this prompt page": "Bu uyarı sayfasını görmeye beklemiyordunuz"
"You are unexpected to see this prompt page": "Bu uyarı sayfasını görmeye beklemiyordunuz",
"e.g. {NameID}, $user.name, $user.email": "örn. {NameID}, $user.name, $user.email"
},
"cert": {
"Bit size": "Bit boyutu",
@@ -570,7 +571,7 @@
"Physical": "Fiziksel",
"Show all": "Tümünü göster",
"Virtual": "Sanal",
"You need to delete all subgroups first. You can view the subgroups in the left group tree of the [Organizations] -\u003e [Groups] page": "Önce tüm alt grupları silmeniz gerekir. Alt grupları [Organizasyonlar] -\u003e [Gruplar] sayfasının sol grup ağacından görüntüleyebilirsiniz."
"You need to delete all subgroups first. You can view the subgroups in the left group tree of the [Organizations] -> [Groups] page": "Önce tüm alt grupları silmeniz gerekir. Alt grupları [Organizasyonlar] -> [Gruplar] sayfasının sol grup ağacından görüntüleyebilirsiniz."
},
"home": {
"New users past 30 days": "Son 30 gündeki yeni kullanıcılar",
@@ -1504,4 +1505,4 @@
"Single org only - Tooltip": "Webhook'un ait olduğu organizasyonda yalnızca tetiklenir",
"Value": "Değer"
}
}
}

View File

@@ -168,7 +168,8 @@
"Use Email as NameID": "Використовувати Email як NameID",
"Use Email as NameID - Tooltip": "Використовувати Email як NameID - підказка",
"Vertical": "Вертикальний",
"You are unexpected to see this prompt page": "Ви неочікувано побачите цю сторінку запиту"
"You are unexpected to see this prompt page": "Ви неочікувано побачите цю сторінку запиту",
"e.g. {NameID}, $user.name, $user.email": "напр. {NameID}, $user.name, $user.email"
},
"cert": {
"Bit size": "Розрядність",
@@ -570,7 +571,7 @@
"Physical": "фізичний",
"Show all": "Покажи все",
"Virtual": "Віртуальний",
"You need to delete all subgroups first. You can view the subgroups in the left group tree of the [Organizations] -\u003e [Groups] page": "Спочатку потрібно видалити всі підгрупи. Підгрупи можна переглянути у лівому дереві груп на сторінці [Організації] -\u003e [Групи]"
"You need to delete all subgroups first. You can view the subgroups in the left group tree of the [Organizations] -> [Groups] page": "Спочатку потрібно видалити всі підгрупи. Підгрупи можна переглянути у лівому дереві груп на сторінці [Організації] -> [Групи]"
},
"home": {
"New users past 30 days": "Нові користувачі за останні 30 днів",
@@ -1504,4 +1505,4 @@
"Single org only - Tooltip": "Активується лише в організації, якій належить вебхук",
"Value": "Значення"
}
}
}

View File

@@ -168,7 +168,8 @@
"Use Email as NameID": "Sử dụng Email làm NameID",
"Use Email as NameID - Tooltip": "Gợi ý sử dụng Email làm NameID",
"Vertical": "Dọc",
"You are unexpected to see this prompt page": "Bạn không mong đợi thấy trang này hiện lên"
"You are unexpected to see this prompt page": "Bạn không mong đợi thấy trang này hiện lên",
"e.g. {NameID}, $user.name, $user.email": "vd. {NameID}, $user.name, $user.email"
},
"cert": {
"Bit size": "Kích cỡ bit",
@@ -570,7 +571,7 @@
"Physical": "Vật lý",
"Show all": "Hiển thị tất cả",
"Virtual": "Ảo",
"You need to delete all subgroups first. You can view the subgroups in the left group tree of the [Organizations] -\u003e [Groups] page": "Bạn cần xóa tất cả nhóm con trước. Bạn có thể xem các nhóm con trong cây nhóm bên trái của trang [Tổ chức] -\u003e [Nhóm]"
"You need to delete all subgroups first. You can view the subgroups in the left group tree of the [Organizations] -> [Groups] page": "Bạn cần xóa tất cả nhóm con trước. Bạn có thể xem các nhóm con trong cây nhóm bên trái của trang [Tổ chức] -> [Nhóm]"
},
"home": {
"New users past 30 days": "Người dùng mới trong 30 ngày qua",
@@ -1504,4 +1505,4 @@
"Single org only - Tooltip": "Chỉ kích hoạt trong tổ chức mà webhook thuộc về",
"Value": "Giá trị"
}
}
}

View File

@@ -168,7 +168,8 @@
"Use Email as NameID": "使用邮箱作为NameID",
"Use Email as NameID - Tooltip": "使用邮箱作为NameID",
"Vertical": "垂直",
"You are unexpected to see this prompt page": "错误:该提醒页面不应出现"
"You are unexpected to see this prompt page": "错误:该提醒页面不应出现",
"e.g. {NameID}, $user.name, $user.email": "例如 {NameID}, $user.name, $user.email"
},
"cert": {
"Bit size": "位大小",
@@ -570,7 +571,7 @@
"Physical": "实体组",
"Show all": "显示全部",
"Virtual": "虚拟组",
"You need to delete all subgroups first. You can view the subgroups in the left group tree of the [Organizations] -\u003e [Groups] page": "您需要先删除所有子组。您可以在 [组织] -\u003e [群组] 页面左侧的群组树中查看子组"
"You need to delete all subgroups first. You can view the subgroups in the left group tree of the [Organizations] -> [Groups] page": "您需要先删除所有子组。您可以在 [组织] -> [群组] 页面左侧的群组树中查看子组"
},
"home": {
"New users past 30 days": "过去 30 天新增的用户",
@@ -1504,4 +1505,4 @@
"Single org only - Tooltip": "仅在Webhook所在组织触发",
"Value": "值"
}
}
}

View File

@@ -104,7 +104,7 @@ class SamlAttributeTable extends React.Component {
width: "200px",
render: (text, record, index) => {
return (
<Input value={text} onChange={e => {
<Input value={text} placeholder={i18next.t("application:e.g. {NameID}, $user.name, $user.email")} onChange={e => {
this.updateField(table, index, "value", e.target.value);
}} />
);