aboutsummaryrefslogtreecommitdiff
path: root/zenserver/auth/authservice.cpp
diff options
context:
space:
mode:
authorPer Larsson <[email protected]>2022-01-26 14:23:47 +0100
committerPer Larsson <[email protected]>2022-01-26 14:23:47 +0100
commit0c52413f99819ac048ea72414148d289c3f43ab0 (patch)
tree6edf7418c60cdd1c6c1e503074935005a653c698 /zenserver/auth/authservice.cpp
parentAdded auth manager with support for OIDC providers. (diff)
downloadzen-0c52413f99819ac048ea72414148d289c3f43ab0.tar.xz
zen-0c52413f99819ac048ea72414148d289c3f43ab0.zip
Add OpenID auth to auth mgr.
Diffstat (limited to 'zenserver/auth/authservice.cpp')
-rw-r--r--zenserver/auth/authservice.cpp26
1 files changed, 22 insertions, 4 deletions
diff --git a/zenserver/auth/authservice.cpp b/zenserver/auth/authservice.cpp
index 8200b9c9b..20ea252fa 100644
--- a/zenserver/auth/authservice.cpp
+++ b/zenserver/auth/authservice.cpp
@@ -1,7 +1,7 @@
// Copyright Epic Games, Inc. All Rights Reserved.
-#include <auth/authservice.h>
#include <auth/authmgr.h>
+#include <auth/authservice.h>
#include <zencore/compactbinarybuilder.h>
#include <zencore/string.h>
@@ -41,10 +41,28 @@ HttpAuthService::HttpAuthService(AuthMgr& AuthMgr) : m_AuthMgr(AuthMgr)
return ServerRequest.WriteResponse(HttpResponseCode::BadRequest, Response.Save());
}
- const std::string RefreshToken = TokenInfo["RefreshToken"].string_value();
- const std::string AccessToken = TokenInfo["AccessToken"].string_value();
+ const std::string IdentityToken = TokenInfo["IdentityToken"].string_value();
+ const std::string RefreshToken = TokenInfo["RefreshToken"].string_value();
+ const std::string AccessToken = TokenInfo["AccessToken"].string_value();
+
+ const bool Ok = m_AuthMgr.AddOpenIdToken(AuthMgr::AddOpenIdTokenParams{.ProviderName = "Okta"sv,
+ .IdentityToken = IdentityToken,
+ .RefreshToken = RefreshToken,
+ .AccessToken = AccessToken});
+
+ if (Ok)
+ {
+ ServerRequest.WriteResponse(Ok ? HttpResponseCode::OK : HttpResponseCode::BadRequest);
+ }
+ else
+ {
+ CbObjectWriter Response;
+ Response << "Result"sv << false;
+ Response << "Error"sv
+ << "Invalid token"sv;
- ServerRequest.WriteResponse(HttpResponseCode::OK);
+ ServerRequest.WriteResponse(HttpResponseCode::BadRequest, Response.Save());
+ }
},
HttpVerb::kPost);
}