Skip to content

[FEATURE REQ] CosmosDB Spring Data Auditor ReactiveAuditorAware support #42115

Open

Description

Is your feature request related to a problem? Please describe.
Using Spring WebFlux, we store the authenticated user in the Reactive context. We would like to be able to automatically write this user to the @LastModifiedBy field in our Cosmos entities. This should be pretty straightforward since Spring Data has an Auditor concept, which this SDK enables with @EnableCosmosAuditing. However, that only looks for a bean that implements AuditorAware, which doesn't support getting information from the Reactive context but is designed for getting information out of some sort of thread-local store or the like.

Describe the solution you'd like
I'm looking for something along the lines of @EnableReactiveCosmosAuditing, which looks for a bean implementing the ReactiveAuditorAware interface instead. For example, with Spring Data for MongoDB, there is a @EnableReactiveMongoAuditing in addition to @EnableMongoAuditing.

Describe alternatives you've considered
We could work around it by adding code to each time we save that looks up the current user in the reactive context and sets our modified-by field directly. But it would be much more convenient to just use the Spring Data auditing support which is already there.

Thank you!

Information Checklist
Kindly make sure that you have added all the following information above and checkoff the required fields otherwise we will treat the issuer as an incomplete report

  • Description Added
  • Expected solution specified
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

Labels

ClientThis issue points to a problem in the data-plane of the library.azure-springAll azure-spring related issuescustomer-reportedIssues that are reported by GitHub users external to the Azure organization.needs-team-attentionWorkflow: This issue needs attention from Azure service team or SDK teamquestionThe issue doesn't require a change to the product in order to be resolved. Most issues start as that

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions