-
Notifications
You must be signed in to change notification settings - Fork 77
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update Domains page with ability to add/remove "organization" domains, view "administrator" domains set via security settings, and improve various UX bugs and copy #4584
Conversation
…om title and add btn
…in-management-copy' of https://github.com/ethyca/fides into PROD-1404-domain-management-copy
… for cors_origins
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
some light context:
Passing run #6166 ↗︎Details:
Review all test suite changes for PR #4584 ↗︎ |
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## main #4584 +/- ##
==========================================
+ Coverage 78.06% 86.80% +8.74%
==========================================
Files 330 330
Lines 19839 19858 +19
Branches 2545 2550 +5
==========================================
+ Hits 15487 17238 +1751
+ Misses 3888 2152 -1736
- Partials 464 468 +4 ☔ View full report in Codecov by Sentry. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this feels pretty good... a couple nitpicks in here that will feel entirely onerous I'm sure.
I'm going to pull this locally and try it out with the UI. Assuming I can do that successfully, I can run UAT pretty quickly and wrap this one up 👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK, I did some manual UAT on this.
My setup was to point my fidesplus test environment at this fides
branch, then run the test environment. Our default test environment pre-configures a couple CORS origins already by setting security.cors_origins
with these:
"http://localhost",
"http://localhost:8080",
"http://localhost:3000",
"http://localhost:3001"
My test steps were:
- Confirm that http://localhost:3000 is still permitted by default
- Confirm that https://example.com is not permitted by default
- Use the Admin UI to add https://example.com as a domain, and confirm that both https://example.com and http://localhost:3000 are permitted
- Use the Admin UI to remove https://example.com, confirm it is no longer supported
This looks pretty good to me...
…o asachs/PROD-1419-bugfix
…fides into asachs/PROD-1419-bugfix
…o asachs/PROD-1419-bugfix
cors_origins
property resolutionThere was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Verified functionality locally 👍 I just made some small recommendations for the domain page layout
clients/admin-ui/src/features/privacy-requests/privacy-requests.slice.ts
Outdated
Show resolved
Hide resolved
clients/admin-ui/src/features/privacy-requests/privacy-requests.slice.ts
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Beautiful 🙌
…, view "administrator" domains set via security settings, and improve various UX bugs and copy (#4584) Co-authored-by: Kelsey Thomas <101993653+Kelsey-Ethyca@users.noreply.github.com> Co-authored-by: Neville Samuell <neville@ethyca.com>
Addresses a number of issues:
Description Of Changes
BE updates (@adamsachs)
in previous uses of the config proxy, we haven't had a requirement to merge (or reconcile) both API-set and config-set (i.e. via .toml or env var) values for a given app config property. the requirement here, i.e. to overcome the limitation mentioned above, requires this type of resolution.
rather than try to special-case the logic too heavily on the
security.cors_origins
config property and its uses, i've built what i hope is a relatively generic mechanism for config resolution into the underlying config proxy. in order to leverage the merge functionality, though, a developer must specifically annotate a given config proxy property as amerge_property
with a class decorator. this is probably a bit easier to see in action, in the code diff, than it is to explain in words 😅FE updates (@NevilleS)
This PR overhauls the "CORS Configuration" page and rebrands it as "Domains" with a number of improvements:
security.cors_origins
andsecurity.cors_origin_regex
) and display them as read-only values in the UICode Changes
BE updates
merge_values
behavior for the config proxy's property resolution, formerge_properties
that are specifically annotated to have their values mergedIterable
property values can be merged. it'd be presumptuous to try and merge non-iterable elements in a generic way, so better not pretend or intend to support it at all!merge_values
logic to thesecurity.cors_origins
config property by specifying it in themerge_properties
of theSecuritySettingsProxy
constructorFE updates
Yum
validations forisValidURL
,containsNoWildcard
,containsNoPath
and use in formsecurity.cors_origins
andsecurity.cors_origin_regex
as read-only input fields on the Domains pageSteps to Confirm
https://www.loom.com/share/ee68c8f83df1445dac0d7578532ffd38
Pre-Merge Checklist
CHANGELOG.md