HttpListener: how to get http user and password?
c#, httplistener, passwords
Solution
What you're attempting to do is pass credentials via HTTP basic auth, I'm not sure if the username:password syntax is supported in HttpListener, but if it is, you'll need to specify that you accept basic auth first.
HttpListener listener = new HttpListener();
listener.Prefixes.Add(uriPrefix);
listener.AuthenticationSchemes = AuthenticationSchemes.Basic;
listener.Start();
Once you receive a request, you can then extract the username and password with:
HttpListenerBasicIdentity identity = (HttpListenerBasicIdentity)context.User.Identity;
Console.WriteLine(identity.Name);
Console.WriteLine(identity.Password);
Here's a full explanation of all supported authenitcation methods that can be used with HttpListener.
Problem
I'm facing a problem here, with HttpListener. When a request of the form ``` http://user:password@example.com/ ``` is made, how can I get the user and password ? HttpWebRequest has a Credentials property, but HttpListenerRequest doesn't have it, and I didn't find the username in any property of it. Thanks for the help.