Open kumkee opened 11 months ago
@aaronpowell, I'd like to contribute and make identity-based connections a reality if no one has the time. To achieve that, I'll need to communicate with you and/or other authors of the library first. This is because it is going to change a major type, ConnectionOperation
and I don't want to waste time onto the wrong direction.
My idea for the implementation is to add a new boolean member WithIdenty
to type ConnectionOperation
. When it is false the type would work as what it does now. When it is true, it is connecting using endpoint
and the identity provided by DefaultAzureCredential()
.
The next step after DefaultAzureCredential()
would be adding an option for the user to specify which identity to use with DefaultAzureCredentialOptions
.
@aaronpowell, please let me know what you think especially whether these implementation ideas are too intrusive to the existing codebase.
Thank you.
The change is probably not that huge, it'd just be adding another two properties to the ConnectionOperation
type and having an expanded match on what the connection mode should be when creating the CosmosClient
.
In the future, maybe it'd be better to refactor to use the AzureKeyCredential
but I'd have to check to ensure the constructor for CosmosClient
works with it.
Submit a PR and I'll review and we can iterate as needed.
Submit a PR and I'll review and we can iterate as needed.
Hi @aaronpowell,
looking for the same capability
I tried to build it myself also but I think the build tooling needs to be updated, first
looking for the same capability
I tried to build it myself also but I think the build tooling needs to be updated, first
@fwaris, if you don't use the Analyzer, you can use my build for now.
ok great. thanks!
BTW I was able to build by updating dotnet tools and using a global.json for .Net 6
Do you only support Connection-String connections?
Please add support for identity-based connection.
In the upstream, this is done using the
DefaultAzureCredential
class provided by theAzure.Identity
client library.This would be a function called
Cosmos.fromCredential
which works likeMany thanks.