-
Type:
Bug
-
Resolution: Fixed
-
Priority:
Critical - P2
-
Affects Version/s: 1.17.6, 2.9.2
-
Component/s: Authentication
Detailed steps to reproduce the problem?
getMore and killCursor do not reauthenticated on ReauthenticationRequired (391)
Repro: https://github.com/10gen/go-driver-tools/blob/main/preston/repros/2.9.2/godriver_4187_test.go
Public repro: https://gist.github.com/prestonvasquez/a7020ec7c7271f96e7195ab13517b8bc
Definition of done: what must be done to consider the task complete?
The auth spec says:
On any operation that requires authentication, the server may raise the error ReauthenticationRequired (391), typically if the user's credential has expired. Drivers MUST immediately attempt a reauthentication on the connection using suitable credentials, as specified by the particular authentication mechanism when this error is raised, and then re-attempt the operation. This attempt MUST be irrespective of whether the operation is considered retryable.
So getMore and killCursor must retry if they fail due to ReauthenticationRequired (391) while iterating over a cursor. Authenticator must be passed to the operation layer.
The exact Go version used, with patch level:
NA
The exact version of the Go driver used:
2.9.2
Describe how MongoDB is set up. Local vs Hosted, version, topology, load balanced, etc.
NA
The operating system and version (e.g. Windows 7, OSX 10.8, ...)
NA
Security Vulnerabilities
NA
- is related to
-
GODRIVER-4229 mongo-go-driver - PR #2701: Merge release/2.9 into master
-
- Closed
-
-
DRIVERS-3700 Add OIDC reauthentication tests for getMore and killCursors
-
- Investigating
-
- related to
-
GODRIVER-3572 Add a prose test for OIDC reauthentication when a session is involved
-
- Backlog
-
-
DRIVERS-3195 Add a prose test for OIDC reauthentication when a session is involved
-
- Implementing
-