HttpResponseHeaderCollection.WwwAuthenticate Property
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Gets the HttpChallengeHeaderValueCollection of HttpChallengeHeaderValue objects that represent the value of a WWW-Authenticate HTTP header on an HTTP response.
public:
property HttpChallengeHeaderValueCollection ^ WwwAuthenticate { HttpChallengeHeaderValueCollection ^ get(); };
HttpChallengeHeaderValueCollection WwwAuthenticate();
public HttpChallengeHeaderValueCollection WwwAuthenticate { get; }
var httpChallengeHeaderValueCollection = httpResponseHeaderCollection.wwwAuthenticate;
Public ReadOnly Property WwwAuthenticate As HttpChallengeHeaderValueCollection
Property Value
The collection of HttpChallengeHeaderValue objects that represent the value of a WWW-Authenticate HTTP header on an HTTP response. An empty collection means that the header is absent.
Remarks
The following sample code shows a method to get and set the WWW-Authenticate header on an HttpResponseMessage object using the WwwAuthenticate property on the HttpResponseHeaderCollection object.
// WWW-Authenticate: Basic
// HttpChallengeHeaderValueCollection
// HttpChallengeHeaderValue has Scheme and Token (both string) and Parameters (IList<HtpNameValueHeaderValue>)
// IList<HtpNameValueHeaderValue>
// HtpNameValueHeaderValue
void DemoWwwAuthenticate(HttpResponseMessage response) {
var h = response.Headers;
h.WwwAuthenticate.TryParseAdd("Basic");
h.WwwAuthenticate.Add(new HttpChallengeHeaderValue("scheme", "token"));
var header = h.WwwAuthenticate;
uiLog.Text += "\nWWW AUTHENTICATE HEADER\n";
foreach (var item in header) {
// Parameters is an IList<HttpNameValueHeaderValue> of Name/Value strings
var parameterString = "";
foreach (var parameter in item.Parameters) {
parameterString += string.Format("[{0}={1}] ", parameter.Name, parameter.Value);
}
if (parameterString == "") {
parameterString = "(no parameters)";
}
uiLog.Text += string.Format("Scheme: {0} Token: {1} Parameters: {2} ToString(): {3}\n", item.Scheme, item.Token, parameterString, item.ToString());
}
uiLog.Text += String.Format("WwwAuthenticate: {0}\n", header.ToString());
}