Skip to content

Commit

Permalink
Add missing NegotiateAuthentication documentation (#73890)
Browse files Browse the repository at this point in the history
  • Loading branch information
filipnavara authored Aug 13, 2022
1 parent cf26421 commit 4c26d98
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,36 @@ namespace System.Net.Security
/// <summary>
/// Represents a property bag for client-side of an authentication exchange.
/// </summary>
/// <remarks>
/// This property bag is used as argument for <see cref="NegotiateAuthentication" />
/// constructor for initializing a client-side authentication.
///
/// Initial values of the properties are set for an authentication using
/// default network credentials. If you want to explicitly authenticate using a user
/// name, password and domain combination then set the <see cref="Credential" />
/// property appropriately.
///
/// Typical usage of the client-side authentication will also require specifying the
/// the <see cref="TargetName" /> property. While it may be omitted in some scenarios
/// it is usually required to be set to a valid value like <c>HOST/contoso.com</c> or
/// <c>HTTP/www.contoso.com</c>.
///
/// When the authentication is wrapped in a secure channel, like TLS, the channel
/// binding can provide additional protection by strongly binding the authentication
/// to a given transport channel. This is handled by setting the <see cref="Binding" />
/// property. For <see cref="SslStream" /> the channel binding could be obtained
/// through the <see cref="SslStream.TransportContext" /> property and calling the
/// <see cref="TransportContext.GetChannelBinding" /> method.
/// </remarks>
public class NegotiateAuthenticationClientOptions
{
/// <summary>
/// Initializes a new instance of the <see cref="NegotiateAuthenticationClientOptions" /> class.
/// </summary>
public NegotiateAuthenticationClientOptions()
{
}

/// <summary>
/// Specifies the GSSAPI authentication package used for the authentication.
/// Common values are Negotiate, NTLM or Kerberos. Default value is Negotiate.
Expand All @@ -19,7 +47,7 @@ public class NegotiateAuthenticationClientOptions

/// <summary>
/// The NetworkCredential that is used to establish the identity of the client.
/// Default value is CredentialCache.DefaultNetworkCredentials.
/// Default value is <see cref="CredentialCache.DefaultNetworkCredentials" />.
/// </summary>
public NetworkCredential Credential { get; set; } = CredentialCache.DefaultNetworkCredentials;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,19 @@ namespace System.Net.Security
/// <summary>
/// Represents a property bag for server-side of an authentication exchange.
/// </summary>
/// <remarks>
/// This property bag is used as argument for <see cref="NegotiateAuthentication" />
/// constructor for initializing a server-side authentication.
/// </remarks>
public class NegotiateAuthenticationServerOptions
{
/// <summary>
/// Initializes a new instance of the <see cref="NegotiateAuthenticationServerOptions" /> class.
/// </summary>
public NegotiateAuthenticationServerOptions()
{
}

/// <summary>
/// Specifies the GSSAPI authentication package used for the authentication.
/// Common values are Negotiate, NTLM or Kerberos. Default value is Negotiate.
Expand Down

0 comments on commit 4c26d98

Please sign in to comment.