feat(tgbot-back): Add functions for processing user authentication
This commit is contained in:
parent
d6194ec8be
commit
f045eb22b2
6 changed files with 122 additions and 21 deletions
34
modules/bot/back/src/AuthImpersonation.cpp
Normal file
34
modules/bot/back/src/AuthImpersonation.cpp
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
#include "AuthImpersonation.hpp"
|
||||
|
||||
nyanimed::AuthImpersonationClient::AuthImpersonationClient() {
|
||||
const char* baseUrlEnv = std::getenv("NYANIMEDBAUTHURL");
|
||||
const char* tokenEnv = std::getenv("NYANIMEDBAUTHTOKEN");
|
||||
|
||||
if (!baseUrlEnv || std::string(baseUrlEnv).empty()) {
|
||||
throw std::runtime_error("Missing required environment variable: NYANIMEDBAUTHURL");
|
||||
}
|
||||
if (!tokenEnv || std::string(tokenEnv).empty()) {
|
||||
throw std::runtime_error("Missing required environment variable: NYANIMEDBAUTHTOKEN");
|
||||
}
|
||||
|
||||
m_baseUrl = baseUrlEnv;
|
||||
m_authToken = tokenEnv;
|
||||
|
||||
auto config = std::make_shared<nyanimed::meow::auth::api::ApiConfiguration>();
|
||||
config->setBaseUrl(utility::conversions::to_string_t(m_baseUrl));
|
||||
|
||||
m_apiClient = std::make_shared<nyanimed::meow::auth::api::ApiClient>(config);
|
||||
m_authApi = std::make_shared<nyanimed::meow::auth::api::AuthApi>(m_apiClient);
|
||||
}
|
||||
|
||||
pplx::task<std::shared_ptr<nyanimed::meow::auth::model::GetImpersonationToken_200_response>>
|
||||
nyanimed::AuthImpersonationClient::getImpersonationToken(int64_t userId) const {
|
||||
auto request = std::make_shared<nyanimed::meow::auth::model::GetImpersonationToken_request>();
|
||||
request->setUserId(userId);
|
||||
//request->setExternalId(externalId);
|
||||
|
||||
std::map<utility::string_t, utility::string_t> headers;
|
||||
headers[U("Authorization")] = U("Bearer ") + utility::conversions::to_string_t(m_authToken);
|
||||
|
||||
return m_authApi->getImpersonationToken(request, headers);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue