10Duke Enterprise C++ SDK
Loading...
Searching...
No Matches
OAuthResourceOwnerPasswordFlow.h
1#ifndef TENDUKE_OAUTH_ROPG_OAUTHRESOURCEOWNERPASSWORDFLOW_H
2#define TENDUKE_OAUTH_ROPG_OAUTHRESOURCEOWNERPASSWORDFLOW_H
3
4#include "./OAuthResourceOwnerPasswordRequest.h"
5#include "./ResourceOwnerPasswordCredentialsProvider.h"
6
7#include "../BaseOAuthClient.h"
8#include "../OAuthConfiguration.h"
9
10#include "http/HTTPClient.h"
11#include "json/JSONParser.h"
12#include "time/Clock.h"
13
14#include <map>
15#include <memory>
16#include <string>
17
18namespace tenduke { namespace oauth { namespace ropg {
19
31{
32public:
42 std::shared_ptr<const ::tenduke::oauth::OAuthConfiguration> config,
43 std::shared_ptr<const ::tenduke::http::HTTPClient> httpClient,
44 std::shared_ptr<const ::tenduke::json::JSONParser> jsonParser,
45 std::shared_ptr<::tenduke::time::Clock> clock,
46 const ::tenduke::oauth::ropg::ResourceOwnerPasswordCredentialsProvider &usernamePasswordProvider
47 );
48
54 virtual std::unique_ptr<const ::tenduke::oauth::ropg::OAuthResourceOwnerPasswordRequest> authorize(const std::string &scopes) const;
55
62 virtual std::unique_ptr<const ::tenduke::oauth::ropg::OAuthResourceOwnerPasswordRequest> authorize(
63 const std::string &scopes,
64 const std::map<std::string, std::string> &additionalParameters
65 ) const;
66
67private:
68 const std::shared_ptr<const OAuthConfiguration> config;
69 const std::shared_ptr<const ::tenduke::http::HTTPClient> httpClient;
70 const std::shared_ptr<const ::tenduke::json::JSONParser> jsonParser;
71 const std::shared_ptr<::tenduke::time::Clock> clock;
72 const ::tenduke::oauth::ropg::ResourceOwnerPasswordCredentialsProvider &usernamePasswordProvider;
73};
74
75
76}}}
77
78#endif // TENDUKE_OAUTH_ROPG_OAUTHRESOURCEOWNERPASSWORDFLOW_H
OAuthResourceOwnerPasswordFlow(std::shared_ptr< const ::tenduke::oauth::OAuthConfiguration > config, std::shared_ptr< const ::tenduke::http::HTTPClient > httpClient, std::shared_ptr< const ::tenduke::json::JSONParser > jsonParser, std::shared_ptr<::tenduke::time::Clock > clock, const ::tenduke::oauth::ropg::ResourceOwnerPasswordCredentialsProvider &usernamePasswordProvider)
Constructs new instance.
Definition OAuthResourceOwnerPasswordFlow.cpp:8
Base class for OAuth-clients.
Definition BaseOAuthClient.h:20
OAuthResourceOwnerPasswordFlow(std::shared_ptr< const ::tenduke::oauth::OAuthConfiguration > config, std::shared_ptr< const ::tenduke::http::HTTPClient > httpClient, std::shared_ptr< const ::tenduke::json::JSONParser > jsonParser, std::shared_ptr<::tenduke::time::Clock > clock, const ::tenduke::oauth::ropg::ResourceOwnerPasswordCredentialsProvider &usernamePasswordProvider)
Constructs new instance.
Definition OAuthResourceOwnerPasswordFlow.cpp:8
virtual std::unique_ptr< const ::tenduke::oauth::ropg::OAuthResourceOwnerPasswordRequest > authorize(const std::string &scopes) const
Creates the OAuth authorization request.
Definition OAuthResourceOwnerPasswordFlow.cpp:22
OAuth services.
Definition AccessTokenRequestAuthenticator.h:8
Root for classes, functions and globals of 10Duke C++ Client.
Definition APIRequest.h:4