Skip to:
Enable the usage of the "+" character when creating new users, workflows support it just fine.
OLD DESCRIPTION:
It's a valid character for email addresses, but it causes the create organization workflow to fail in an inconsistent state.
The detailed explanation is here:https://tracker.mender.io/browse/MEN-1918?focusedCommentId=89328&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-89328
To reiterate:
conductor uses the email verbatim in url calls, as a query string param
http://mender-tenantadm:8080/api/internal/v1/tenantadm/tenants?username=foo+bar@baz.com
go incorrectly interprets the '+' as space - the tenant is not found and it's a silent failure
The solution would be to:
add an extra email-urlencoded field to the create_organization workflow (and to tenantadm's conductor client)
email-urlencoded
propagate this field via the organization_created event to interested event listeners
organization_created
these are mostly saas-specific workflows: create_artifacts, create_tenant_demo_device
use the urlencoded version where necessary
allow existing workers and services use the existing email where encoding doesn't matter
email
This is a placeholder task, if we intend to take it it has to be broken down like a mini-epic.
We're deprioritizing this for now because of the scope of required changes/effort.
PRs:
https://github.com/mendersoftware/tenantadm/pull/182
https://github.com/mendersoftware/useradm/pull/175
I've updated the description of the ticket and re-estimated it.workflows support + characters just fine, we can enable them again.
Enable the usage of the "+" character when creating new users, workflows support it just fine.
OLD DESCRIPTION:
It's a valid character for email addresses, but it causes the create organization workflow to fail in an inconsistent state.
The detailed explanation is here:
https://tracker.mender.io/browse/MEN-1918?focusedCommentId=89328&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-89328
To reiterate:
conductor uses the email verbatim in url calls, as a query string param
http://mender-tenantadm:8080/api/internal/v1/tenantadm/tenants?username=foo+bar@baz.com
go incorrectly interprets the '+' as space - the tenant is not found and it's a silent failure
The solution would be to:
add an extra
email-urlencoded
field to the create_organization workflow (and to tenantadm's conductor client)propagate this field via the
organization_created
event to interested event listenersthese are mostly saas-specific workflows: create_artifacts, create_tenant_demo_device
use the urlencoded version where necessary
allow existing workers and services use the existing
email
where encoding doesn't matterThis is a placeholder task, if we intend to take it it has to be broken down like a mini-epic.
We're deprioritizing this for now because of the scope of required changes/effort.