diff options
| author | Per Larsson <[email protected]> | 2022-02-01 13:19:52 +0100 |
|---|---|---|
| committer | Per Larsson <[email protected]> | 2022-02-01 13:19:52 +0100 |
| commit | 14b1cd4930f5bf94ddf0a6979097d27892497523 (patch) | |
| tree | ed596aca1a53173aa723978a8bec31296e72c735 /zenserver/zenserver.cpp | |
| parent | Parital completed cloud cache token provider interface. (diff) | |
| download | zen-14b1cd4930f5bf94ddf0a6979097d27892497523.tar.xz zen-14b1cd4930f5bf94ddf0a6979097d27892497523.zip | |
Refactored cloud cache access token provider.
Diffstat (limited to 'zenserver/zenserver.cpp')
| -rw-r--r-- | zenserver/zenserver.cpp | 69 |
1 files changed, 29 insertions, 40 deletions
diff --git a/zenserver/zenserver.cpp b/zenserver/zenserver.cpp index 4227a296c..a67e9f7e8 100644 --- a/zenserver/zenserver.cpp +++ b/zenserver/zenserver.cpp @@ -742,68 +742,57 @@ ZenServer::InitializeStructuredCache(const ZenServerOptions& ServerOptions) // Jupiter upstream { - /* zen::CloudCacheClientOptions Options; - if (UpstreamConfig.JupiterConfig.UseProductionSettings) - { - Options = - zen::CloudCacheClientOptions{.Name = "Jupiter-Prod"sv, - .ServiceUrl = "https://jupiter.devtools.epicgames.com"sv, - .DdcNamespace = "ue.ddc"sv, - .BlobStoreNamespace = "ue.ddc"sv, - .OAuthProvider = "https://epicgames.okta.com/oauth2/auso645ojjWVdRI3d0x7/v1/token"sv, - .OAuthClientId = "0oao91lrhqPiAlaGD0x7"sv, - .OAuthSecret = "-GBWjjenhCgOwhxL5yBKNJECVIoDPH0MK4RDuN7d"sv, - .ConnectTimeout = std::chrono::milliseconds(UpstreamConfig.ConnectTimeoutMilliseconds), - .Timeout = std::chrono::milliseconds(UpstreamConfig.TimeoutMilliseconds), - .UseLegacyDdc = false}; - } - else if (UpstreamConfig.JupiterConfig.UseDevelopmentSettings) + + if (UpstreamConfig.JupiterConfig.UseProductionSettings || UpstreamConfig.JupiterConfig.UseDevelopmentSettings) { + std::string EndpointName = "Jupiter-Dev"sv; + std::string Url = "https://jupiter.devtools-dev.epicgames.com" sv; + + if (UpstreamConfig.JupiterConfig.UseProductionSettings) + { + EndpointName = "Jupiter-Prod"sv; + Url = "https://jupiter.devtools.epicgames.com" sv; + } + + auto TokenProvider = CloudCacheTokenProvider::MakeFromOAuthClientCredentials( + {.Url = "https://epicgames.okta.com/oauth2/auso645ojjWVdRI3d0x7/v1/token"sv, + .ClientId = "0oao91lrhqPiAlaGD0x7"sv, + .ClientSecret = "-GBWjjenhCgOwhxL5yBKNJECVIoDPH0MK4RDuN7d"sv}); + Options = - zen::CloudCacheClientOptions{.Name = "Jupiter-Dev"sv, - .ServiceUrl = "https://jupiter.devtools-dev.epicgames.com"sv, + zen::CloudCacheClientOptions{.Name = EndpointName, + .ServiceUrl = Url, .DdcNamespace = "ue.ddc"sv, .BlobStoreNamespace = "ue.ddc"sv, - .OAuthProvider = "https://epicgames.okta.com/oauth2/auso645ojjWVdRI3d0x7/v1/token"sv, - .OAuthClientId = "0oao91lrhqPiAlaGD0x7"sv, - .OAuthSecret = "-GBWjjenhCgOwhxL5yBKNJECVIoDPH0MK4RDuN7d"sv, .ConnectTimeout = std::chrono::milliseconds(UpstreamConfig.ConnectTimeoutMilliseconds), .Timeout = std::chrono::milliseconds(UpstreamConfig.TimeoutMilliseconds), + .TokenProvider = std::move(TokenProvider), .UseLegacyDdc = false}; } else { - const auto JupiterEndpointName = - UpstreamConfig.JupiterConfig.Name.empty() ? "Jupiter"sv : UpstreamConfig.JupiterConfig.Name; + const auto EndpointName = UpstreamConfig.JupiterConfig.Name.empty() ? "Jupiter"sv : UpstreamConfig.JupiterConfig.Name; + + auto TokenProvider = CloudCacheTokenProvider::MakeFromOAuthClientCredentials( + {.Url = "https://epicgames.okta.com/oauth2/auso645ojjWVdRI3d0x7/v1/token"sv, + .ClientId = "0oao91lrhqPiAlaGD0x7"sv, + .ClientSecret = "-GBWjjenhCgOwhxL5yBKNJECVIoDPH0MK4RDuN7d"sv}); Options = - zen::CloudCacheClientOptions{.Name = JupiterEndpointName, + zen::CloudCacheClientOptions{.Name = EndpointName, .ServiceUrl = UpstreamConfig.JupiterConfig.Url, .DdcNamespace = UpstreamConfig.JupiterConfig.DdcNamespace, .BlobStoreNamespace = UpstreamConfig.JupiterConfig.Namespace, - .OAuthProvider = UpstreamConfig.JupiterConfig.OAuthProvider, - .OAuthClientId = UpstreamConfig.JupiterConfig.OAuthClientId, - .OAuthSecret = UpstreamConfig.JupiterConfig.OAuthClientSecret, .ConnectTimeout = std::chrono::milliseconds(UpstreamConfig.ConnectTimeoutMilliseconds), .Timeout = std::chrono::milliseconds(UpstreamConfig.TimeoutMilliseconds), + .TokenProvider = std::move(TokenProvider), .UseLegacyDdc = false}; } - */ - - const AuthMgr::OpenIdAccessToken Token = m_AuthMgr->GetOpenIdAccessToken("Okta"); - - zen::CloudCacheClientOptions Options = - zen::CloudCacheClientOptions{.Name = "Jupiter-Prod"sv, - .ServiceUrl = "https://jupiter.devtools.epicgames.com"sv, - .DdcNamespace = "ue.ddc"sv, - .BlobStoreNamespace = "ue.ddc"sv, - .ConnectTimeout = std::chrono::milliseconds(UpstreamConfig.ConnectTimeoutMilliseconds), - .Timeout = std::chrono::milliseconds(UpstreamConfig.TimeoutMilliseconds), - .UseLegacyDdc = false}; + if (!Options.ServiceUrl.empty()) { - std::unique_ptr<zen::UpstreamEndpoint> JupiterEndpoint = zen::MakeJupiterUpstreamEndpoint(Options, *m_AuthMgr); + std::unique_ptr<zen::UpstreamEndpoint> JupiterEndpoint = zen::MakeJupiterUpstreamEndpoint(std::move(Options), *m_AuthMgr); m_UpstreamCache->RegisterEndpoint(std::move(JupiterEndpoint)); } } |