1#ifndef TENDUKE_OIDC_ROPG_ROPGAUTHENTICATIONCONFIG_H
2#define TENDUKE_OIDC_ROPG_ROPGAUTHENTICATIONCONFIG_H
4#include "../BaseOIDCAuthenticationConfig.h"
5#include "oauth/ropg/ResourceOwnerPasswordCredentialsProvider.h"
13 static constexpr std::uint32_t DEFAULT_LOGIN_ATTEMPTS = 0;
14 static constexpr std::uint32_t UNLIMITED_LOGIN_ATTEMPTS = UINT32_MAX;
28 const ::tenduke::oauth::ropg::ResourceOwnerPasswordCredentialsProvider &credentialsProvider,
31 const std::uint32_t maxLoginAttempts = DEFAULT_LOGIN_ATTEMPTS,
34 ) : BaseOIDCAuthenticationConfig(
40 , credentialsProvider(credentialsProvider)
41 , maxLoginAttempts(maxLoginAttempts)
50 return (maxLoginAttempts == DEFAULT_LOGIN_ATTEMPTS ? UNLIMITED_LOGIN_ATTEMPTS : maxLoginAttempts);
54 const ::tenduke::oauth::ropg::ResourceOwnerPasswordCredentialsProvider &credentialsProvider;
55 const std::uint32_t maxLoginAttempts;
ROPGAuthenticationConfig(const ::tenduke::oauth::ropg::ResourceOwnerPasswordCredentialsProvider &credentialsProvider, std::string oauthClientId, std::string oauthClientSecret={}, const std::uint32_t maxLoginAttempts=DEFAULT_LOGIN_ATTEMPTS, ::tenduke::oidc::OIDCSessionConfiguration oidcSessionConfiguration={}, std::string scopes={})
Creates a new instance.
Definition ROPGAuthenticationConfig.h:27
const std::string oauthClientId
OAuth client id.
Definition BaseOIDCAuthenticationConfig.h:28
const std::string scopes
OAuth/OIDC scopes to authorize.
Definition BaseOIDCAuthenticationConfig.h:39
const std::string oauthClientSecret
OAuth client secret.
Definition BaseOIDCAuthenticationConfig.h:33
const ::tenduke::oidc::OIDCSessionConfiguration oidcSessionConfiguration
OIDC session configuration.
Definition BaseOIDCAuthenticationConfig.h:36
Configuration for tenduke::oidc::OIDCSessionImpl.
Definition OIDCSessionConfiguration.h:16
ROPGAuthenticationConfig(const ::tenduke::oauth::ropg::ResourceOwnerPasswordCredentialsProvider &credentialsProvider, std::string oauthClientId, std::string oauthClientSecret={}, const std::uint32_t maxLoginAttempts=DEFAULT_LOGIN_ATTEMPTS, ::tenduke::oidc::OIDCSessionConfiguration oidcSessionConfiguration={}, std::string scopes={})
Creates a new instance.
Definition ROPGAuthenticationConfig.h:27
std::uint32_t getMaxLoginAttempts() const
Returns maximum number of login attempts.
Definition ROPGAuthenticationConfig.h:48
Implementation of OpenID Connect protocol.
Definition AutoDiscovery.h:18
Root for classes, functions and globals of 10Duke C++ Client.
Definition AbstractClientFactory.h:16