Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions .changeset/20413-verification-posture-statements.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---
"@objectstack/service-settings": patch
---

The auth settings console states the email-verification rule each audience posture enforces (#20413).

Clause-②: no

The Audience group description and the `audience_posture` help said every posture other than invitation-only forces email verification on. That stopped being true when posture `open` began honouring a deployment's opt-out. Both strings, in the manifest and in the `en`, `zh-CN`, `es-ES` and `ja-JP` bundles, now state the rule the auth plugin enforces:

- `email_domain` always forces email verification on.
- `open` forces it on unless the deployment turns it off, with `OS_AUTH_REQUIRE_EMAIL_VERIFICATION=false` or `emailAndPassword.requireEmailVerification: false` in the stack config.
- A `false` saved in the settings console is refused under `open`.

Text only: no key, option, default or accepted value changes.
28 changes: 15 additions & 13 deletions docs/qa/platform-checklist/areas/identity-auth.json

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ const manifest = {
label: 'Audience',
required: false,
description:
'Who may become a user of this environment\'s apps. Postures other than invitation-only force email verification on. Invitations, admin-created users, SCIM provisioning, and enterprise SSO are admitted under every posture.',
'Who may become a user of this environment\'s apps. Allowlisted email domains always force email verification on. Open forces it on unless the deployment turns it off; a value saved in this console cannot. Invitations, admin-created users, SCIM provisioning, and enterprise SSO are admitted under every posture.',
},
{
type: 'select',
Expand All @@ -103,7 +103,7 @@ const manifest = {
{ value: 'open', label: 'Open — anyone may self-register' },
],
description:
'invite_only closes self-registration: users come into existence only through an operator-side act (invitation, admin create/import, SCIM, enterprise SSO). email_domain opens it to the allowlisted domains below. open admits anyone. Any posture other than invite_only forces email verification on and requires the self-registration permission set below.',
'invite_only closes self-registration: users come into existence only through an operator-side act (invitation, admin create/import, SCIM, enterprise SSO). email_domain opens it to the allowlisted domains below. open admits anyone. Both email_domain and open require the self-registration permission set below. email_domain always forces email verification on. open forces it on unless the deployment turns it off (OS_AUTH_REQUIRE_EMAIL_VERIFICATION=false, or emailAndPassword.requireEmailVerification: false in the stack config); a false saved in this console is refused under open.',
},
{
type: 'textarea',
Expand Down
4 changes: 2 additions & 2 deletions packages/services/service-settings/src/translations/en.ts
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,7 @@ export const en: PlatformTranslationData = {
},
audience: {
title: 'Audience',
description: 'Who may become a user of this environment\'s apps. Postures other than invitation-only force email verification on. Invitations, admin-created users, SCIM provisioning, and enterprise SSO are admitted under every posture.',
description: 'Who may become a user of this environment\'s apps. Allowlisted email domains always force email verification on. Open forces it on unless the deployment turns it off; a value saved in this console cannot. Invitations, admin-created users, SCIM provisioning, and enterprise SSO are admitted under every posture.',
},
password_policy: {
title: 'Password policy',
Expand Down Expand Up @@ -171,7 +171,7 @@ export const en: PlatformTranslationData = {
},
audience_posture: {
label: 'Self-registration audience',
help: 'invite_only closes self-registration: users come into existence only through an operator-side act (invitation, admin create/import, SCIM, enterprise SSO). email_domain opens it to the allowlisted domains below. open admits anyone. Any posture other than invite_only forces email verification on and requires the self-registration permission set below.',
help: 'invite_only closes self-registration: users come into existence only through an operator-side act (invitation, admin create/import, SCIM, enterprise SSO). email_domain opens it to the allowlisted domains below. open admits anyone. Both email_domain and open require the self-registration permission set below. email_domain always forces email verification on. open forces it on unless the deployment turns it off (OS_AUTH_REQUIRE_EMAIL_VERIFICATION=false, or emailAndPassword.requireEmailVerification: false in the stack config); a false saved in this console is refused under open.',
options: {
invite_only: 'Invitation only — no self-registration (default)',
email_domain: 'Allowlisted email domains only',
Expand Down
4 changes: 2 additions & 2 deletions packages/services/service-settings/src/translations/es-ES.ts
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ export const esES: PlatformTranslationData = {
},
audience: {
title: 'Audiencia',
description: 'Quién puede convertirse en usuario de las aplicaciones de este entorno. Las posturas distintas de «solo por invitación» fuerzan la verificación de correo. Las invitaciones, los usuarios creados por administradores, el aprovisionamiento SCIM y el SSO empresarial se admiten bajo cualquier postura.',
description: 'Quién puede convertirse en usuario de las aplicaciones de este entorno. «Dominios de correo» siempre fuerza la verificación de correo. «Abierto» también la fuerza, salvo que el despliegue la desactive; un valor guardado en esta consola no puede hacerlo. Las invitaciones, los usuarios creados por administradores, el aprovisionamiento SCIM y el SSO empresarial se admiten bajo cualquier postura.',
},
password_policy: {
title: 'Política de contraseñas',
Expand Down Expand Up @@ -133,7 +133,7 @@ export const esES: PlatformTranslationData = {
},
audience_posture: {
label: 'Audiencia de autorregistro',
help: '«Solo por invitación» cierra el autorregistro: los usuarios solo se crean mediante un acto del operador (invitación, creación/importación por un administrador, SCIM o SSO empresarial). «Dominios de correo» lo abre solo a los dominios de la lista inferior; «Abierto» admite a cualquiera. Cualquier postura distinta de «solo por invitación» fuerza la verificación de correo y requiere el conjunto de permisos de autorregistro inferior.',
help: '«Solo por invitación» cierra el autorregistro: los usuarios solo se crean mediante un acto del operador (invitación, creación/importación por un administrador, SCIM o SSO empresarial). «Dominios de correo» lo abre solo a los dominios de la lista inferior; «Abierto» admite a cualquiera. «Dominios de correo» y «Abierto» requieren el conjunto de permisos de autorregistro inferior. «Dominios de correo» siempre fuerza la verificación de correo. «Abierto» también la fuerza, salvo que el despliegue la desactive (OS_AUTH_REQUIRE_EMAIL_VERIFICATION=false, o emailAndPassword.requireEmailVerification: false en la configuración del stack); un false guardado en esta consola se rechaza bajo «Abierto».',
options: {
invite_only: 'Solo por invitación — sin autorregistro (predeterminado)',
email_domain: 'Solo dominios de correo permitidos',
Expand Down
4 changes: 2 additions & 2 deletions packages/services/service-settings/src/translations/ja-JP.ts
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ export const jaJP: PlatformTranslationData = {
},
audience: {
title: '登録対象',
description: 'この環境のアプリのユーザーになれる対象。「招待のみ」以外のポスチャではメール確認が強制されます。招待、管理者による作成、SCIM プロビジョニング、エンタープライズ SSO はどのポスチャでも許可されます。',
description: 'この環境のアプリのユーザーになれる対象。「メールドメイン」ではメール確認が常に強制されます。「オープン」でも強制されますが、デプロイ側で無効にできます。このコンソールで保存した値では無効にできません。招待、管理者による作成、SCIM プロビジョニング、エンタープライズ SSO はどのポスチャでも許可されます。',
},
password_policy: {
title: 'パスワードポリシー',
Expand Down Expand Up @@ -133,7 +133,7 @@ export const jaJP: PlatformTranslationData = {
},
audience_posture: {
label: 'セルフ登録の対象',
help: '「招待のみ」はセルフ登録を閉じます。ユーザーは運用側の行為(招待、管理者による作成/インポート、SCIM、エンタープライズ SSO)によってのみ作成されます。「メールドメイン」は下の許可リストのドメインにのみ開放し、「オープン」は誰でも登録できます。「招待のみ」以外ではメール確認が強制され、下のセルフ登録権限セットの指定が必要です。',
help: '「招待のみ」はセルフ登録を閉じます。ユーザーは運用側の行為(招待、管理者による作成/インポート、SCIM、エンタープライズ SSO)によってのみ作成されます。「メールドメイン」は下の許可リストのドメインにのみ開放し、「オープン」は誰でも登録できます。「メールドメイン」と「オープン」では下のセルフ登録権限セットの指定が必要です。「メールドメイン」ではメール確認が常に強制されます。「オープン」でも強制されますが、デプロイ側で無効にできます(OS_AUTH_REQUIRE_EMAIL_VERIFICATION=false、またはスタック設定の emailAndPassword.requireEmailVerification: false)。このコンソールで保存した false は「オープン」では拒否されます。',
options: {
invite_only: '招待のみ — セルフ登録なし(既定)',
email_domain: '許可リストのメールドメインのみ',
Expand Down
4 changes: 2 additions & 2 deletions packages/services/service-settings/src/translations/zh-CN.ts
Original file line number Diff line number Diff line change
Expand Up @@ -257,7 +257,7 @@ export const zhCN: PlatformTranslationData = {
},
audience: {
title: '注册受众',
description: '谁可以成为本环境应用的用户。除「仅限邀请」外的口径会强制开启邮箱验证。邀请、管理员创建、SCIM 开通和企业 SSO 在任何口径下都可进入。',
description: '谁可以成为本环境应用的用户。「邮箱域名」口径始终强制开启邮箱验证。「开放」口径也会强制开启,除非部署方关闭它;在此控制台保存的值无法关闭。邀请、管理员创建、SCIM 开通和企业 SSO 在任何口径下都可进入。',
},
password_policy: {
title: '密码策略',
Expand Down Expand Up @@ -298,7 +298,7 @@ export const zhCN: PlatformTranslationData = {
},
audience_posture: {
label: '自助注册受众',
help: '「仅限邀请」关闭自助注册:用户只能通过运营侧行为进入——邀请、管理员创建/导入、SCIM 开通或企业 SSO。「邮箱域名」仅向下方允许列表中的域名开放;「开放」允许任何人自助注册。除「仅限邀请」外的口径会强制开启邮箱验证,并要求配置下方的自助注册权限集。',
help: '「仅限邀请」关闭自助注册:用户只能通过运营侧行为进入——邀请、管理员创建/导入、SCIM 开通或企业 SSO。「邮箱域名」仅向下方允许列表中的域名开放;「开放」允许任何人自助注册。「邮箱域名」与「开放」都要求配置下方的自助注册权限集。「邮箱域名」始终强制开启邮箱验证。「开放」也会强制开启,除非部署方关闭它(OS_AUTH_REQUIRE_EMAIL_VERIFICATION=false,或在 stack 配置中设置 emailAndPassword.requireEmailVerification: false);在此控制台保存的 false 在「开放」下会被拒绝。',
options: {
invite_only: '仅限邀请——不开放自助注册(默认)',
email_domain: '仅允许列表中的邮箱域名',
Expand Down
Loading