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;
29 const ::tenduke::oauth::ropg::ResourceOwnerPasswordCredentialsProvider &credentialsProvider,
32 const std::uint32_t maxLoginAttempts = DEFAULT_LOGIN_ATTEMPTS,
35 std::map<std::string, std::string>
attributes = {}
36 ) : BaseOIDCAuthenticationConfig(
43 , credentialsProvider(credentialsProvider)
44 , maxLoginAttempts(maxLoginAttempts)
53 return (maxLoginAttempts == DEFAULT_LOGIN_ATTEMPTS ? UNLIMITED_LOGIN_ATTEMPTS : maxLoginAttempts);
57 const ::tenduke::oauth::ropg::ResourceOwnerPasswordCredentialsProvider &credentialsProvider;
58 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={}, std::map< std::string, std::string > attributes={})
Creates a new instance.
Definition ROPGAuthenticationConfig.h:28
const std::map< std::string, std::string > attributes
Custom attributes.
Definition BaseOIDCAuthenticationConfig.h:45
const std::string oauthClientId
OAuth client id.
Definition BaseOIDCAuthenticationConfig.h:31
const std::string scopes
OAuth/OIDC scopes to authorize.
Definition BaseOIDCAuthenticationConfig.h:42
const std::string oauthClientSecret
OAuth client secret.
Definition BaseOIDCAuthenticationConfig.h:36
const ::tenduke::oidc::OIDCSessionConfiguration oidcSessionConfiguration
OIDC session configuration.
Definition BaseOIDCAuthenticationConfig.h:39
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={}, std::map< std::string, std::string > attributes={})
Creates a new instance.
Definition ROPGAuthenticationConfig.h:28
std::uint32_t getMaxLoginAttempts() const
Returns maximum number of login attempts.
Definition ROPGAuthenticationConfig.h:51
Implementation of OpenID Connect protocol.
Definition AutoDiscovery.h:15
Root for classes, functions and globals of 10Duke C++ Client.
Definition APIRequest.h:4