[SAML Configuration] SAML settings#74973
Conversation
|
Hey, I noticed you changed If you want to automatically generate translations for other locales, an Expensify employee will have to:
Alternatively, if you are an external contributor, you can run the translation script locally with your own OpenAI API key. To learn more, try running: npx ts-node ./scripts/generateTranslations.ts --helpTypically, you'd want to translate only what you changed by running |
Codecov Report✅ Changes either increased or maintained existing code coverage, great job!
|
NikkiWines
left a comment
There was a problem hiding this comment.
Just a couple function doc updates, otherwise looks great
src/libs/actions/Domain.ts
Outdated
| } | ||
|
|
||
| /** | ||
| * Sets logging in through SAML as required or not for the emails belonging to the domain |
There was a problem hiding this comment.
| * Sets logging in through SAML as required or not for the emails belonging to the domain | |
| * Sets whether logging in via SAML is required for the domain |
src/libs/actions/Domain.ts
Outdated
| } | ||
|
|
||
| /** | ||
| * Sets logging in through SAML as enabled/disabled for the emails belonging to the domain |
There was a problem hiding this comment.
| * Sets logging in through SAML as enabled/disabled for the emails belonging to the domain | |
| * Sets whether logging in via SAML is enabled for the domain |
|
@mountiny looks like this was merged without a test passing. Please add a note explaining why this was done and remove the |
|
Not Emergency, checks were not failing, must be some race condition in this case |
|
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
|
🚀 Deployed to staging by https://github.com/mountiny in version: 9.2.65-0 🚀
|
|
@mhawryluk @mountiny @NikkiWines could you help with Okta scim in the following steps?
|
|
@kavimuru I can generate the OKTA token for you. Which domain are you guys are using and which account are you testing with? |
|
@NikkiWines this was the account used applausetester@applause.expensifail.com |
|
DM'd 1:1 to work through this as it requires some toggling with SAML required and generating the tokens |
|
🚀 Deployed to production by https://github.com/marcaaron in version: 9.2.65-6 🚀
|
Explanation of Change
Migrates SAML settings page to New Expensify. Allows enabling/disabling SAML, setting it as required, displaying the metadata (including Okta SCIM token) and setting Identity Provider metadata. Settings are located in the domain page and are accessible for admins and for verified domains only.
Fixed Issues
$ #72813
PROPOSAL: N/A
Tests
Offline tests
QA Steps
Same as tests.
PR Author Checklist
### Fixed Issuessection aboveTestssectionOffline stepssectionQA stepssectioncanBeMissingparam foruseOnyxtoggleReportand notonIconClick)src/languages/*files and using the translation methodSTYLE.md) were followedAvatar, I verified the components usingAvatarare working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))npm run compress-svg)Avataris modified, I verified thatAvataris working as expected in all cases)Designlabel and/or tagged@Expensify/designso the design team can review the changes.ScrollViewcomponent to make it scrollable when more elements are added to the page.mainbranch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTeststeps.Screenshots/Videos
Android: Native
Nagranie.z.ekranu.2025-11-21.o.12.34.33.mov
Android: mWeb Chrome
Nagranie.z.ekranu.2025-11-21.o.12.08.01.mov
iOS: Native
Simulator.Screen.Recording.-.iPhone.16.Pro.Max.-.2025-11-21.at.12.02.33.mp4
Simulator.Screen.Recording.-.iPhone.16.Pro.Max.-.2025-11-21.at.12.54.53.mp4
iOS: mWeb Safari
Simulator.Screen.Recording.-.iPhone.16.Pro.Max.-.2025-11-21.at.12.00.01.mp4
MacOS: Chrome / Safari
Nagranie.z.ekranu.2025-11-21.o.12.03.47.mov
saml-login-1.mov
Nagranie.z.ekranu.2025-11-21.o.16.01.10.mov
Nagranie.z.ekranu.2025-11-21.o.16.20.24.mov
MacOS: Desktop