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

Expose interface to support SASL compliant authentication protocols #19860

Closed
Priya91 opened this issue Jan 10, 2017 · 19 comments
Closed

Expose interface to support SASL compliant authentication protocols #19860

Priya91 opened this issue Jan 10, 2017 · 19 comments
Labels
api-needs-work API needs work before it is approved, it is NOT ready for implementation area-System.Net.Security
Milestone

Comments

@Priya91
Copy link
Contributor

Priya91 commented Jan 10, 2017

In .NET the authentication protocols implementation is available as an internal type NTAuthentication but the API surface area is designed for Windows compatible NTLM, Kerberos and WDigest auth. We need an API like IAuthenticationModule, that is more generic, and not tied to WebRequest.

@Priya91
Copy link
Contributor Author

Priya91 commented Jan 10, 2017

cc @karelz @saurabh500

refer comments here and here

@Carbenium
Copy link

@Priya91 Do you already have a rough time frame for an implementation? I think this API would help a lot of people to get Kerberos authentication going.
Unfortunately I haven't come across any library which could be used on Linux in the meantime.

@karelz
Copy link
Member

karelz commented Jun 14, 2017

@Carbenium the milestone is Future, so there is no timeframe currently.

@Carbenium
Copy link

Thanks for the answer.
Is there any chance you might consider this for 2.1?
GSSAPI, which this API would expose (?), is basically the only authentication method that does not have any decent .NET support.

Just as an example the people from MailKit would probably be interested in this feature, since it's the only method missing from their list.
I guess even https://github.com/dotnet/corefx/issues/2089 might profit from this?

Anyway, keep up the great work. It's a pleasure to see .NET Core evolving 😄

@karelz
Copy link
Member

karelz commented Jun 14, 2017

We have a long list of high-value work items in Networking for 2.1 already. Unless there is strong evidence of business need (more votes, ask from important partners, like MailKit, etc.), it will likely not fit into 2.1.

@jorgebay
Copy link

jorgebay commented Mar 1, 2018

I wanted to voice our interest in seeing SASL support on a generic API (with GSSAPI support) on .NET Core, according to rfc 4422.

Though it may be possible to create a custom solution for Windows-only with .NET Standard 2.x (using SSPI), for a multiplatform enterprise-friendly .NET Core application a SASL client is needed.

As an example, Java has very nice API: Sasl.createSaslClient(mechanism, ...), Sasl.createSaslServer(mechanism, ...).

cc @csplinter

@Priya91
Copy link
Contributor Author

Priya91 commented Apr 18, 2018

Any updates on this?

@karelz
Copy link
Member

karelz commented Apr 18, 2018

No update. It is early for 2.2 plans. This is not top paint-point though.
Do you have some interesting scenario in mind @Priya91?

@Aarthiumayaval
Copy link

Voicing interest for public GSSAPI in Dotnet core as soon as possible. Can you please let us know when is 2.2 release? will System.Net.Security will have public GSSAPI in 2.2 ?

@Aarthiumayaval
Copy link

the above comment is a question of GSSAPI support from non windows. when we can have public GSSAPI support from LINUX and MAC ?

@karelz
Copy link
Member

karelz commented May 16, 2018

@Aarthiumayaval what kinds of scenarios do you need it for?
Currently it is not too high on our backlog (i.e. unclear if it happens in 2.2). Understanding some of the scenarios better could help prioritize it higher.

@Aarthiumayaval
Copy link

Aarthiumayaval commented May 17, 2018 via email

@Priya91
Copy link
Contributor Author

Priya91 commented May 17, 2018

Do you have some interesting scenario in mind @Priya91?

Hey Karel! We are using an azure relay library (azure/azure-relay-dotnet), which maintains a custom implementation of ClientWebSocket as it targets netstandard1.3, and the ClientWebSocket is not available there. So, I was extending that custom implementation to support proxies, and as a result of which I had to handle authentication for the proxy. If this library had been available, I could have used this library to get the authentication challenge tokens, instead of having to implement the auth protocols from scratch. Ofcourse the proper solution would be for the azure relay library to support netstandard2.0 and for us to upgrade to netcoreapp2.1 (to get the proxy support in ClientWebsocket), both of which are out of scope at the moment.

@jorgebay
Copy link

Here is the use case we are interested in support:
We have a C# client driver library for our database (DataStax Enterprise). The server supports GSSAPI (Kerberos v5) authentication. We currently support GSSAPI authentication via SSPI (Windows-only APIs) on the C# driver, we are interested for a solution that runs on both Windows and Linux.

We need a way to authenticate the client to the server (server-to-client would be needed for anyone interested in developing a C# server with Kerberos support) on any platform.

@blowdart
Copy link
Contributor

OK folks, give me survey love :)

https://microsoft.qualtrics.com/jfe/form/SV_9LvT1hbZ2nHHcFv will help us understand what you want, you might even get followup calls to discuss it in greater detail. Free feel to spread the survey link around.

@davidsh
Copy link
Contributor

davidsh commented Apr 28, 2019

We expect dotnet/corefx#36896 to be the answer to this issue.

@karelz
Copy link
Member

karelz commented Sep 5, 2019

We believe it will be mostly solved by dotnet/corefx#36896

@karelz
Copy link
Member

karelz commented Sep 5, 2019

Duplicate of dotnet/corefx#36896

@karelz karelz closed this as completed Sep 5, 2019
@msftgits msftgits transferred this issue from dotnet/corefx Jan 31, 2020
@msftgits msftgits added this to the 5.0 milestone Jan 31, 2020
@davidsh
Copy link
Contributor

davidsh commented Feb 10, 2020

Tracking issue moved to: #29270

@ghost ghost locked as resolved and limited conversation to collaborators Dec 26, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
api-needs-work API needs work before it is approved, it is NOT ready for implementation area-System.Net.Security
Projects
None yet
Development

No branches or pull requests

8 participants