10Duke Enterprise C++ SDK
Loading...
Searching...
No Matches
OIDCLoginWithLoopbackRedirection.h
1#ifndef TENDUKE_OIDC_OIDCLOGINWITHLOOPBACKREDIRECTION_H
2#define TENDUKE_OIDC_OIDCLOGINWITHLOOPBACKREDIRECTION_H
3
4#include "./LoopbackRedirectionLoginParameters.h"
5
6#include "net/URLCodec.h"
7#include "net/URLs.h"
8#include "oauth/OAuthConfiguration.h"
9#include "oidc/OIDCConfiguration.h"
10#include "oidc/OIDCClientFactory.h"
11#include "oidc/OIDCState.h"
12#include "oidc/session/OIDCLogin.h"
13#include "osa/BrowserIntegration.h"
14#include "osa/SocketFactory.h"
15
16#include <map>
17#include <memory>
18#include <future>
19
20namespace tenduke { namespace oidc { namespace osbrowser {
21
35
37
38public:
54 const ::tenduke::oauth::OAuthConfiguration &oauthConfiguration,
55 const std::shared_ptr<const ::tenduke::oidc::OIDCConfiguration> &oidcConfiguration,
56 std::string scope,
57 const std::shared_ptr<const ::tenduke::oidc::OIDCClientFactory> &oidcClientFactory,
58 const std::shared_ptr<const ::tenduke::osa::BrowserIntegration> &browser,
59 const std::shared_ptr<const ::tenduke::osa::SocketFactory> &socketFactory,
60 std::string responseMessage,
61 std::uint16_t httpServerPort,
62 const std::shared_ptr<const ::tenduke::net::URLs> &urls,
63 const std::shared_ptr<const ::tenduke::http::server::HTTPRequestParser> &httpRequestParser,
64 const std::map<std::string, std::string> &additionalParameters = {}
65 );
66
67 // tenduke::oidc::OIDCLogin interface
68public:
69 std::unique_ptr<tenduke::oidc::OIDCLoginRequest> login() const override;
70
71private:
72 const std::shared_ptr<const ::tenduke::oidc::osbrowser::LoopbackRedirectionLoginParameters> parameters;
73};
74
75}}}
76
77#endif //TENDUKE_OIDC_OIDCLOGINWITHLOOPBACKREDIRECTION_H
OIDCLoginWithLoopbackRedirection(const ::tenduke::oauth::OAuthConfiguration &oauthConfiguration, const std::shared_ptr< const ::tenduke::oidc::OIDCConfiguration > &oidcConfiguration, std::string scope, const std::shared_ptr< const ::tenduke::oidc::OIDCClientFactory > &oidcClientFactory, const std::shared_ptr< const ::tenduke::osa::BrowserIntegration > &browser, const std::shared_ptr< const ::tenduke::osa::SocketFactory > &socketFactory, std::string responseMessage, std::uint16_t httpServerPort, const std::shared_ptr< const ::tenduke::net::URLs > &urls, const std::shared_ptr< const ::tenduke::http::server::HTTPRequestParser > &httpRequestParser, const std::map< std::string, std::string > &additionalParameters={})
Constructs a new instance.
Definition OIDCLoginWithLoopbackRedirection.cpp:33
High-level service to perform OIDC-login.
Definition OIDCLogin.h:13
OIDCLoginWithLoopbackRedirection(const ::tenduke::oauth::OAuthConfiguration &oauthConfiguration, const std::shared_ptr< const ::tenduke::oidc::OIDCConfiguration > &oidcConfiguration, std::string scope, const std::shared_ptr< const ::tenduke::oidc::OIDCClientFactory > &oidcClientFactory, const std::shared_ptr< const ::tenduke::osa::BrowserIntegration > &browser, const std::shared_ptr< const ::tenduke::osa::SocketFactory > &socketFactory, std::string responseMessage, std::uint16_t httpServerPort, const std::shared_ptr< const ::tenduke::net::URLs > &urls, const std::shared_ptr< const ::tenduke::http::server::HTTPRequestParser > &httpRequestParser, const std::map< std::string, std::string > &additionalParameters={})
Constructs a new instance.
Definition OIDCLoginWithLoopbackRedirection.cpp:33
std::unique_ptr< tenduke::oidc::OIDCLoginRequest > login() const override
Starts the login process by creating a login request.
Definition OIDCLoginWithLoopbackRedirection.cpp:27
Services to perform OIDC-login using OS-browser with loopback redirection.
Definition BrowserAuthenticationConfig.h:9
Implementation of OpenID Connect protocol.
Definition AutoDiscovery.h:15
Root for classes, functions and globals of 10Duke C++ Client.
Definition APIRequest.h:4