E-MailRelay

Public Member Functions | List of all members
GAuth::SaslClientSecrets Class Referenceabstract

An interface used by GAuth::SaslClient to obtain a client id and its authentication secret. More...

`#include <gsaslclientsecrets.h>`

Inheritance diagram for GAuth::SaslClientSecrets:
[legend]

## Public Member Functions
virtual | ~SaslClientSecrets ()=default
| Destructor.
virtual bool | validSelector (std::string_view selector) const =0
| Returns true if the selector is valid.
virtual bool | mustAuthenticate (std::string_view selector) const =0
| Returns true if authentication is required. More...
virtual Secret | clientSecret (std::string_view type, std::string_view selector) const =0
| Returns the client secret for the given type. More...

## Detailed Description

An interface used by GAuth::SaslClient to obtain a client id and its authentication secret.

Conceptually there is one client and they can have secrets encoded in multiple ways.

Definition at line 38 of file gsaslclientsecrets.h.

## Member Function Documentation

## ◆ clientSecret()

virtual Secret GAuth::SaslClientSecrets::clientSecret | ( | std::string_view | type,
|  | std::string_view | selector
| ) |  | const
| pure virtual

Returns the client secret for the given type.

The type is "plain" or the CRAM hash algorithm or "oauth". The optional selector is used to choose between available client accounts. Returns an invalid secret if none.

## ◆ mustAuthenticate()

virtual bool GAuth::SaslClientSecrets::mustAuthenticate | ( | std::string_view | selector | ) | const
| pure virtual

Returns true if authentication is required.

Precondition: validSelector()

The documentation for this class was generated from the following file:

- /tmp/slackdce/slackrepo.HKsbdz/build_emailrelay/emailrelay-2.6/src/gauth/gsaslclientsecrets.h