# Poco::Net

# class HTTPBasicCredentials

Library: Net
Package: HTTP
Header: Poco/Net/HTTPBasicCredentials.h

## Description

This is a utility class for working with HTTP Basic Authentication in HTTPRequest objects.

## Member Summary

Member Functions: authenticate, clear, empty, getPassword, getUsername, parseAuthInfo, proxyAuthenticate, setPassword, setUsername

## Constructors

### HTTPBasicCredentials

HTTPBasicCredentials();

Creates an empty HTTPBasicCredentials object.

### HTTPBasicCredentials

explicit HTTPBasicCredentials(
const HTTPRequest & request
);

Creates a HTTPBasicCredentials object with the authentication information from the given request.

Throws a NotAuthenticatedException if the request does not contain basic authentication information.

### HTTPBasicCredentials

explicit HTTPBasicCredentials(
const std::string & authInfo
);

Creates a HTTPBasicCredentials object with the authentication information in the given string. The authentication information can be extracted from a HTTPRequest object by calling HTTPRequest::getCredentials().

### HTTPBasicCredentials

HTTPBasicCredentials(
const std::string & username,
const std::string & password
);

Creates a HTTPBasicCredentials object with the given username and password.

## Destructor

### ~HTTPBasicCredentials

~HTTPBasicCredentials();

Destroys the HTTPBasicCredentials.

## Member Functions

### authenticate

void authenticate(
HTTPRequest & request
) const;

Adds authentication information to the given HTTPRequest.

### clear

void clear();

Clears both username and password.

### empty

bool empty() const;

Returns true if both username and password are empty, otherwise false.

### getPassword

const std::string & getPassword() const;

Returns the password.

### getUsername

const std::string & getUsername() const;

Returns the username.

### proxyAuthenticate

void proxyAuthenticate(
HTTPRequest & request
) const;

Adds proxy authentication information to the given HTTPRequest.

### setPassword

void setPassword(
const std::string & password
);

Sets the password.

### setUsername

void setUsername(
const std::string & username
);

Sets the username.

### parseAuthInfo

void parseAuthInfo(
const std::string & authInfo
);

Extracts username and password from Basic authentication info by base64-decoding authInfo and splitting the resulting string at the ':' delimiter.

## Variables

### SCHEME

static const std::string SCHEME;