-
Type:
Spec Change
-
Resolution: Unresolved
-
Priority:
Unknown
-
None
-
Component/s: Authentication
-
None
-
Needed - No Spec Changes
-
Summary
The OIDC reauthentication tests only send a 391 on the first command of an operation, so a driver that doesn't reauthenticate when a 391 comes back on getMore or killCursors (as in GODRIVER-4187, which breaks cursors open when a GCP Workload Identity token expires) still passes.
Motivation
Who is the affected end user?
Users using GCP WI
How does this affect the end user?
If other drivers have a bug similar to GODRIVER-4187, cursor iteration can fail partway through with ReauthenticationRequired when the OIDC token expires, because the driver doesn't reauthenticate on getMore.
How likely is it that this problem or use case will occur?
Unclear
If the problem does occur, what are the consequences and how severe are they?
Require read retries at the application
Is this issue urgent?
No
Is this ticket required by a downstream team?
No
Is this ticket only for tests?
Yes.
Acceptance Criteria
Need a test that asserts the following:
This test differ from DRIVERS-3195 as that solution does not test killCursor or getMore for OIDC. Here are the Go driver prose test, perhaps they can be used as a template:
- is related to
-
GODRIVER-4190 SingleResult.Decode doesn't return non-nil DinstinctResult errors
-
- Backlog
-
- related to
-
GODRIVER-4187 getMore and killCursor fail to reauthenticate on ReauthenticationRequired (391)
-
- Needs Verification
-
-
DRIVERS-3195 Add a prose test for OIDC reauthentication when a session is involved
-
- Implementing
-