Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

More flexible authentication system #16

Open
mattmassicotte opened this issue Dec 19, 2022 · 3 comments
Open

More flexible authentication system #16

mattmassicotte opened this issue Dec 19, 2022 · 3 comments

Comments

@mattmassicotte
Copy link
Contributor

mattmassicotte commented Dec 19, 2022

Hello again!

I'm attempting to use this client with AWS Keyspaces. This service has two mechanisms for authentication. Right now, I'm able to use the user/pass versions, and it's working! I'm amazed!

However, the "real" way to do auth with Keyspaces is via AWS SigV4 authentication. Doing this requires building a plugin that uses the lower level auth systems of the C++ driver. These are not currently exposed. I haven't built a system that does this yet, so I'm kind of winging it based on what I see in the Go plugin.

Any thoughts on how to wrap up the driver's API?

@tomerd
Copy link
Member

tomerd commented Feb 11, 2023

I think adding a plugin system for auth is interesting direction. we would obviously need to expose a new API that allows the client to inject the alternative auth provider. would you like to to propose such?

@tomerd
Copy link
Member

tomerd commented Feb 11, 2023

cc @yim-lee @rnro

@mattmassicotte
Copy link
Contributor Author

I did make a little progress. I was using the example here:

https://github.com/datastax/cpp-driver/blob/master/examples/auth/auth.c

However, I was working on this as a side-project, and have been distracted. I like the idea of an API to make this easier, but I don't think I have enough time or context to make a good suggestion.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants