Poco::RemotingNG::TCP

class ClientAuthenticator

File Information

Library: RemotingNG/TCP
Package: TCP
Header: Poco/RemotingNG/TCP/ClientAuthenticator.h

Description

This is the base class for implementations of the client part of authentication.

Inheritance

Direct Base Classes: Poco::RefCountedObject

All Base Classes: Poco::RefCountedObject

Known Derived Classes: PlainClientAuthenticator, SCRAMClientAuthenticator

Member Summary

Member Functions: continueAuthentication, startAuthentication

Inherited Functions: duplicate, referenceCount, release

Types Aliases

Ptr

using Ptr = Poco::AutoPtr < ClientAuthenticator >;

Member Functions

continueAuthentication virtual

virtual bool continueAuthentication(
    const Credentials & serverCredentials,
    Credentials & clientCredentials
) = 0;

Continues the authentication flow with the Credentials received from the server.

This is used for multi-step authentication flows such as SCRAM-SHA-1.

Returns true if the authentication flow should be continued, otherwise false.

startAuthentication virtual

virtual std::string startAuthentication(
    Credentials & clientCredentials
) = 0;

Begin the authentication process.

Returns the authentication scheme and updates the given credentials according to the specific mechanism.

For a simple username/password authentication mechanism, this completes the authentication process.