Skip to content

TSecurityProperty

Ivan Semenkov edited this page Nov 10, 2019 · 2 revisions

TSecurity property class.

Types

TAuthMethod

public type
  TAuthMethod = (
AUTH_NONE
    AUTH_NONE,
AUTH_BASIC

HTTP Basic authentication. This is the default choice, and the only method that is in wide-spread use and supported virtually everywhere. This sends the user name and password over the network in plain text, easily captured by others.

    AUTH_BASIC,
AUTH_DIGEST

HTTP Digest authentication. Digest authentication is defined in RFC 2617 and is a more secure way to do authentication over public networks than the regular old-fashioned Basic method.

    AUTH_DIGEST,
AUTH_NEGOTIATE

HTTP Negotiate (SPNEGO) authentication. Negotiate authentication is defined in RFC 4559 and is the most secure way to perform authentication over HTTP.

    AUTH_NEGOTIATE,
AUTH_GSSAPI

Same as AUTH_NEGOTIATE.

    AUTH_GSSAPI,
AUTH_NTLM

HTTP NTLM authentication. A proprietary protocol invented and used by Microsoft. It uses a challenge-response and hash concept similar to Digest, to prevent the password from being eavesdropped.

    AUTH_NTLM,
AUTH_DIGEST_IE

HTTP Digest authentication with an IE flavor. Digest authentication is defined in RFC 2617 and is a more secure way to do authentication over public networks than the regular old-fashioned Basic method. The IE flavor is simply that libcurl will use a special "quirk" that IE is known to have used before version 7 and that some servers require the client to use.

    AUTH_DIGEST_IE,
AUTH_NTLM_WB

NTLM delegating to winbind helper. Authentication is performed by a separate binary application that is executed when needed. The name of the application is specified at compile time but is typically /usr/bin/ntlm_auth.

    AUTH_NTLM_WB,
AUTH_BEARER

HTTP Bearer token authentication, used primarily in OAuth 2.0 protocol.

    AUTH_BEARER,
AUTH_ANY

This is sets all bits and thus makes libcurl pick any it finds suitable. libcurl will automatically select the one it finds most secure.

    AUTH_ANY,
AUTH_ANYSAFE

This is sets all bits except Basic and thus makes libcurl pick any it finds suitable. libcurl will automatically select the one it finds most secure.

    AUTH_ANYSAFE
  );

TAuthMethods

public type
  TAuthMethods = set of TAuthMethod;

Constructor

Create new TSecurityProperty class.

public constructor Create (AHandle : CURL; AErrorStack : PErrorStack);

Properties

AllowUsernameInURL

Allow/disallow specifying user name in the url.

public property AllowUsernameInURL : Boolean default True; { Access : WriteOnly }