-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
Add better API to support communication with Kerberos endpoints #62202
Comments
Tagging subscribers to this area: @dotnet/ncl, @vcsjones Issue DetailsWe sort of have NegotiteStream to allow mutual Kerberos authentication. However, that is custom .NET extension and it does not work agains endpoint written in other languages. It would be nice to have enough public API surface so projects like this can use .NET directly without jumping through weird hoops.
|
Related to #29270 |
Triage: We would like to support database clients in better way in 7.0. |
I checked what would be necessary to port dotnet/SqlClient to the new NegotiateAuthentication API. The missing piece are two flags on the authentication (Delegate, MutualAuth). API suggestion is in #70982. |
Thanks @filipnavara. The other chunk I"m aware of is Postgress Driver https://github.com/npgsql/npgsql/blob/00ee7a8a47cc61b9419dd334851ec5184ab5bcdd/src/Npgsql/Internal/NpgsqlConnector.Auth.cs cc: @roji |
PostgreSQL driver has essentially identical requirements. NPgSQL already wraps the public |
closing this as #70982 is merged. |
We sort of have NegotiteStream to allow mutual Kerberos authentication. However, that is custom .NET extension and it does not work agains endpoint written in other languages.
For example #60906 caused crashing regression because SqlClient depends on runtime internals and it is hard to keep in sync.
Similarly PostgresSQL writes custom wrapper around NegotiateStream to strip and add fields to make it usable.
It would be nice to have enough public API surface so projects like this can use .NET directly without jumping through weird hoops.
We would need to work out details and either extend NegotiateStream or come up with separate stream class.
The text was updated successfully, but these errors were encountered: