Skip to content

fix: [UIE-9500] - oAuth issue with IAM OAuthCallback - #13037

Merged
abailly-akamai merged 23 commits into
linode:developfrom
abailly-akamai:UIE-9500
Nov 7, 2025
Merged

fix: [UIE-9500] - oAuth issue with IAM OAuthCallback#13037
abailly-akamai merged 23 commits into
linode:developfrom
abailly-akamai:UIE-9500

Conversation

@abailly-akamai

@abailly-akamai abailly-akamai commented Oct 30, 2025

Copy link
Copy Markdown
Contributor

Description 📝

When signing in with an OAuthCallback that includes a route using checkIAMEnabled, auth fails because of race condition with the profile check.

Changes 🔄

Scope 🚢

Upon production release, changes in this PR will be visible to:

  • All customers
  • Some customers (e.g. in Beta or Limited Availability)
  • No customers / Not applicable

Preview 📷

Before After
Screen.Recording.2025-10-30.at.14.36.46.mov
Screen.Recording.2025-10-30.at.14.33.41.mov

How to test 🧪

Prerequisites

Have an IAM enabled account - any environment

Reproduction steps

  • While already authenticated, navigate to http://localhost:3000/iam/roles
  • logout
  • once on the login screen, paste http://localhost:3000/iam/roles in the URL bar
  • proceed to authenticate
  • ⛔ notice you will be redirected to the login process

Verification steps

  • While already authenticated, navigate to http://localhost:3000/iam/roles
  • logout
  • once on the login screen, paste http://localhost:3000/iam/roles in the URL bar
  • proceed to authenticate
  • ✅ confirm no redirect from /iam/roles and properly authenticated in cloud manager
Author Checklists

As an Author, to speed up the review process, I considered 🤔

👀 Doing a self review
❔ Our contribution guidelines
🤏 Splitting feature into small PRs
➕ Adding a changeset
🧪 Providing/improving test coverage
🔐 Removing all sensitive information from the code and PR description
🚩 Using a feature flag to protect the release
👣 Providing comprehensive reproduction steps
📑 Providing or updating our documentation
🕛 Scheduling a pair reviewing session
📱 Providing mobile support
♿ Providing accessibility support

  • I have read and considered all applicable items listed above.

As an Author, before moving this PR from Draft to Open, I confirmed ✅

  • All tests and CI checks are passing
  • TypeScript compilation succeeded without errors
  • Code passes all linting rules

@abailly-akamai abailly-akamai self-assigned this Oct 30, 2025
@abailly-akamai
abailly-akamai requested review from a team, aaleksee-akamai and mpolotsk-akamai and removed request for a team October 30, 2025 13:41
@abailly-akamai
abailly-akamai marked this pull request as ready for review October 30, 2025 13:42
@abailly-akamai
abailly-akamai requested a review from a team as a code owner October 30, 2025 13:42
permissionMap[permission] =
(unrestricted || usersPermissionMap[permission]) ?? false;
}
});

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@aaleksee-akamai - these are exactly your changes from #13033 because i wanted to make sure to test these changes with the proper checks in place.

queryOptions(profileQueries.profile())
);

if (profile.restricted) {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

in that case maybe we need to remove/update the comment below?

Comment thread packages/manager/src/features/IAM/hooks/useIsIAMEnabled.ts

@aaleksee-akamai aaleksee-akamai left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Confirm the steps, looks good, thanks for the fix!

@mpolotsk-akamai mpolotsk-akamai left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Verified the steps, everything works great. Thanks for the fix!

@github-project-automation github-project-automation Bot moved this from Review to Approved in Cloud Manager Nov 4, 2025
abailly-akamai and others added 10 commits November 7, 2025 16:21
…es route (linode#13034)

* UIE-9456 & UIE-9457

* test

* Added changeset: Typo + expose search filters on /iam/roles route
* feat: [UIE-9481] - IAM: add perm check for the drawer

* Added changeset: IAM: add a permission check for delete nodebalancer drawer
…ode#13042)

* feat: add empty state to Default Roles/Entities table

* Added changeset: IAM: Empty state for the Default Roles and Default Entities Access tabs

* update text

* add unit tests

* review fix

* unit test fix
* fix: [UIE-9478] - IAM: disable tag edit

* Added changeset: IAM: tags editing was enabled for restricted users

* fix: [UIE-9478] - add tooltip, disable manage tags in Volume action menu

* style fix
… for < 1 hour (linode#13045)

* fix: [M3-9498] - Update linode/clone endpoint and label calculations for < 1 hour

* Add changelogs

---------

Co-authored-by: Jaalah Ramos <jaalah.ramos@gmail.com>
…inode#13047)

* try/cath child user query

* consistent handling

* types

* Added changeset: IAM Child Account - user not found error handling
…hen user has no permissions (linode#13049)

* fix: [UIE-9477] - IAM: Disable delete and detach popups for Volumes if no permissions

* Added changeset: IAM: restricted  users could access delete and detach popups without permissions
…lans (linode#13054)

* upcoming: [UIE-9434] - Create feature flag for generational compute plans

* Added changeset: Feature flag for Generational Compute plans
mduda-akamai and others added 9 commits November 7, 2025 16:21
… list table based on status (linode#13052)

* refactor: [DI-27807] - Change status of edit & delete button in alert list table based on status

* Added comment

* Added changeset

* refactor: [DI-27807] - Updated test cases
…ure flag (linode#13051)

* Add firewall rs & pl feature flag

* Added changeset: Feature flag for Firewall Rulesets & Prefixlists
…#13050)

* UIE-9342

* UIE-9341

* feat: [UIE-9341, UIE-9342, UIE-9521] - IAM: fix perm for vpc

* Added changeset: IAM: fix permissiom's check for vpc for assigning/unassigning linodes

* filter linodes

* e2e deferred getLinodes call

---------

Co-authored-by: Alban Bailly <abailly@akamai.com>
…ssControlDrawer (linode#13044)

## Description 📝

Refactor Database Manage Networking drawer to use React Hook Form instead of Formik

## Changes  🔄

- There should be no visual external changes other than IP validation on blur instead of after clicking Update Access Controls

## How to test 🧪

### Prerequisites

(How to setup test environment)

- Have the Database VPC feature flag enabled

### Verification steps

(How to verify changes)

- [ ] Test adding/editing IPs in the Database landing page via Manage Access Controls action dropdown
- [ ] Test adding/editing IPs in the Database details page via the Networking tab
- [ ] There should be no regressions compared to prod, error messages should display
… PrimaryNav (linode#13056)

* attempt to rule out any race condition

* comments

* code and fixes

* cleanup

* Added changeset: Race condition with Preferences overrides in PrimaryNav
…ccount (linode#13033)

* feat: [UIE-9393] - IAM Parent/Child: delegate permissions for child account

* changesets

* remove the unrestricted check for query

* fix conflict

* e2e gating

* lint fix

* better approach to fixing e2e

* Mock IAM to be disabled in Account Switching test

---------

Co-authored-by: Alban Bailly <abailly@akamai.com>
Co-authored-by: Alban Bailly <130582365+abailly-akamai@users.noreply.github.com>
Co-authored-by: Joe D'Amore <jdamore@akamai.com>
* feat: [UIE-9534] - IAM: add tooltips

* Added changeset: IAM: add tooltips for disabled buttons for nodebalancers, remove notification banner

* update text

* remove tooltip
* change:[UIE-9541] Add MSW crud support for types API

* Added changeset: Add MSW crud support for types API

* Added changeset: Add MSW crud support for types API
@abailly-akamai
abailly-akamai requested review from a team as code owners November 7, 2025 15:22
@abailly-akamai
abailly-akamai requested review from cpathipa and dmcintyr-akamai and removed request for a team November 7, 2025 15:22
@linode-gh-bot

Copy link
Copy Markdown

Cloud Manager UI test results

🔺 4 failing tests on test run #5 ↗︎

❌ Failing✅ Passing↪️ Skipped🕐 Duration
4 Failing857 Passing11 Skipped49m 45s

Details

Failing Tests
SpecTest
update-stackscripts.spec.tsCloud Manager Cypress Tests→Update stackscripts » updates a StackScript
create-database.spec.tsCloud Manager Cypress Tests→create a database cluster, mocked data » creates a g6-dedicated-2 MySQL v5.x 3-node cluster
create-database.spec.tsCloud Manager Cypress Tests→create a database cluster, mocked data » creates a g6-nanode-1 PostgreSQL v13.x 3-node cluster
create-stackscripts.spec.tsCloud Manager Cypress Tests→Create stackscripts » creates a StackScript and deploys a Linode with it

Troubleshooting

Use this command to re-run the failing tests:

pnpm cy:run -s "cypress/e2e/core/stackscripts/update-stackscripts.spec.ts,cypress/e2e/core/databases/create-database.spec.ts,cypress/e2e/core/stackscripts/create-stackscripts.spec.ts"

@abailly-akamai
abailly-akamai merged commit caabbdf into linode:develop Nov 7, 2025
34 of 35 checks passed
@github-project-automation github-project-automation Bot moved this from Approved to Merged in Cloud Manager Nov 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.