Skip to content

Commit 62ab8ab

Browse files
remove unnecessary
1 parent 2f97361 commit 62ab8ab

7 files changed

+25
-49
lines changed

ydb/mvp/oidc_proxy/oidc_impersonate_start_page_nebius.cpp

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -20,17 +20,6 @@ THandlerImpersonateStart::THandlerImpersonateStart(const NActors::TActorId& send
2020
, Settings(settings)
2121
{}
2222

23-
TString THandlerImpersonateStart::DecodeToken(const TStringBuf& cookie, const NActors::TActorContext& ctx) {
24-
TString token;
25-
try {
26-
Base64StrictDecode(cookie, token);
27-
} catch (std::exception& e) {
28-
LOG_DEBUG_S(ctx, EService::MVP, "Base64Decode " << cookie << " cookie: " << e.what());
29-
token.clear();
30-
}
31-
return token;
32-
}
33-
3423
void THandlerImpersonateStart::Bootstrap(const NActors::TActorContext& ctx) {
3524
LOG_DEBUG_S(ctx, EService::MVP, "Start impersonation process");
3625
NHttp::TUrlParameters urlParameters(Request->URL);

ydb/mvp/oidc_proxy/oidc_impersonate_start_page_nebius.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,8 @@ class THandlerImpersonateStart : public NActors::TActorBootstrapped<THandlerImpe
1515
const NHttp::THttpIncomingRequestPtr Request;
1616
NActors::TActorId HttpProxyId;
1717
const TOpenIdConnectSettings Settings;
18-
TContext Context;
1918

2019
public:
21-
TString DecodeToken(const TStringBuf& cookie, const NActors::TActorContext& ctx);
2220
THandlerImpersonateStart(const NActors::TActorId& sender,
2321
const NHttp::THttpIncomingRequestPtr& request,
2422
const NActors::TActorId& httpProxyId,

ydb/mvp/oidc_proxy/oidc_impersonate_stop_page_nebius.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ class THandlerImpersonateStop : public NActors::TActorBootstrapped<THandlerImper
1515
const NHttp::THttpIncomingRequestPtr Request;
1616
NActors::TActorId HttpProxyId;
1717
const TOpenIdConnectSettings Settings;
18-
TContext Context;
1918

2019
public:
2120
THandlerImpersonateStop(const NActors::TActorId& sender,

ydb/mvp/oidc_proxy/oidc_protected_page_nebius.cpp

Lines changed: 12 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -26,17 +26,6 @@ TStringBuf THandlerSessionServiceCheckNebius::GetCookie(const NHttp::TCookies& c
2626
return cookieValue;
2727
}
2828

29-
TString THandlerSessionServiceCheckNebius::DecodeToken(const TStringBuf& cookie, const NActors::TActorContext& ctx) {
30-
TString token;
31-
try {
32-
Base64StrictDecode(cookie, token);
33-
} catch (std::exception& e) {
34-
LOG_DEBUG_S(ctx, EService::MVP, "Base64Decode " << cookie << " cookie: " << e.what());
35-
token.clear();
36-
}
37-
return token;
38-
}
39-
4029
void THandlerSessionServiceCheckNebius::StartOidcProcess(const NActors::TActorContext& ctx) {
4130
NHttp::THeaders headers(Request->Headers);
4231
LOG_DEBUG_S(ctx, EService::MVP, "Start OIDC process");
@@ -99,9 +88,8 @@ void THandlerSessionServiceCheckNebius:: HandleExchange(NHttp::TEvHttpProxy::TEv
9988
}
10089
}
10190

102-
void THandlerSessionServiceCheckNebius::ExchangeSessionToken(const TString sessionToken, const NActors::TActorContext& ctx) {
103-
LOG_DEBUG_S(ctx, EService::MVP, "Exchange session token");
104-
tokenExchangeType = ETokenExchangeType::SessionToken;
91+
void THandlerSessionServiceCheckNebius::SendTokenExchangeRequest(const TStringBuilder& body, const ETokenExchangeType exchangeType, const NActors::TActorContext& ctx) {
92+
tokenExchangeType = exchangeType;
10593
NHttp::THttpOutgoingRequestPtr httpRequest = NHttp::THttpOutgoingRequest::CreateRequestPost(Settings.GetExchangeEndpointURL());
10694
httpRequest->Set<&NHttp::THttpRequest::ContentType>("application/x-www-form-urlencoded");
10795

@@ -111,42 +99,34 @@ void THandlerSessionServiceCheckNebius::ExchangeSessionToken(const TString sessi
11199
token = tokenator->GetToken(Settings.SessionServiceTokenName);
112100
}
113101
httpRequest->Set("Authorization", token); // Bearer included
102+
httpRequest->Set<&NHttp::THttpRequest::Body>(body);
103+
104+
ctx.Send(HttpProxyId, new NHttp::TEvHttpProxy::TEvHttpOutgoingRequest(httpRequest));
105+
Become(&THandlerSessionServiceCheckNebius::StateExchange);
106+
}
107+
108+
void THandlerSessionServiceCheckNebius::ExchangeSessionToken(const TString sessionToken, const NActors::TActorContext& ctx) {
109+
LOG_DEBUG_S(ctx, EService::MVP, "Exchange session token");
114110
TStringBuilder body;
115111
body << "grant_type=urn:ietf:params:oauth:grant-type:token-exchange"
116112
<< "&requested_token_type=urn:ietf:params:oauth:token-type:access_token"
117113
<< "&subject_token_type=urn:ietf:params:oauth:token-type:session_token"
118114
<< "&subject_token=" << sessionToken;
119-
httpRequest->Set<&NHttp::THttpRequest::Body>(body);
120-
121-
ctx.Send(HttpProxyId, new NHttp::TEvHttpProxy::TEvHttpOutgoingRequest(httpRequest));
122115

123-
Become(&THandlerSessionServiceCheckNebius::StateExchange);
116+
SendTokenExchangeRequest(body, ETokenExchangeType::SessionToken, ctx);
124117
}
125118

126119
void THandlerSessionServiceCheckNebius::ExchangeImpersonatedToken(const TString sessionToken, const TString impersonatedToken, const NActors::TActorContext& ctx) {
127120
LOG_DEBUG_S(ctx, EService::MVP, "Exchange impersonated token");
128-
tokenExchangeType = ETokenExchangeType::ImpersonatedToken;
129-
NHttp::THttpOutgoingRequestPtr httpRequest = NHttp::THttpOutgoingRequest::CreateRequestPost(Settings.GetExchangeEndpointURL());
130-
httpRequest->Set<&NHttp::THttpRequest::ContentType>("application/x-www-form-urlencoded");
131-
132-
TMvpTokenator* tokenator = MVPAppData()->Tokenator;
133-
TString token = "";
134-
if (tokenator) {
135-
token = tokenator->GetToken(Settings.SessionServiceTokenName);
136-
}
137-
httpRequest->Set("Authorization", token); // Bearer included
138121
TStringBuilder body;
139122
body << "grant_type=urn:ietf:params:oauth:grant-type:token-exchange"
140123
<< "&requested_token_type=urn:ietf:params:oauth:token-type:access_token"
141124
<< "&subject_token_type=urn:ietf:params:oauth:token-type:jwt"
142125
<< "&subject_token=" << impersonatedToken
143126
<< "&actor_token=" << sessionToken
144127
<< "&actor_token_type=urn:ietf:params:oauth:token-type:session_token";
145-
httpRequest->Set<&NHttp::THttpRequest::Body>(body);
146128

147-
ctx.Send(HttpProxyId, new NHttp::TEvHttpProxy::TEvHttpOutgoingRequest(httpRequest));
148-
149-
Become(&THandlerSessionServiceCheckNebius::StateExchange);
129+
SendTokenExchangeRequest(body, ETokenExchangeType::ImpersonatedToken, ctx);
150130
}
151131

152132
void THandlerSessionServiceCheckNebius::ClearImpersonatedCookie(const NActors::TActorContext& ctx) {

ydb/mvp/oidc_proxy/oidc_protected_page_nebius.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ class THandlerSessionServiceCheckNebius : public THandlerSessionServiceCheck {
2323
const NActors::TActorId& httpProxyId,
2424
const TOpenIdConnectSettings& settings);
2525
TStringBuf GetCookie(const NHttp::TCookies& cookies, const TString& cookieName, const NActors::TActorContext& ctx);
26-
TString DecodeToken(const TStringBuf& cookie, const NActors::TActorContext& ctx);
2726
void StartOidcProcess(const NActors::TActorContext& ctx) override;
2827
void HandleExchange(NHttp::TEvHttpProxy::TEvHttpIncomingResponse::TPtr event, const NActors::TActorContext& ctx);
2928

@@ -40,7 +39,7 @@ class THandlerSessionServiceCheckNebius : public THandlerSessionServiceCheck {
4039
}
4140

4241
private:
43-
42+
void SendTokenExchangeRequest(const TStringBuilder& body, const ETokenExchangeType exchangeType, const NActors::TActorContext& ctx);
4443
void ExchangeSessionToken(const TString sessionToken, const NActors::TActorContext& ctx);
4544
void ExchangeImpersonatedToken(const TString sessionToken, const TString impersonatedToken, const NActors::TActorContext& ctx);
4645
void ClearImpersonatedCookie(const NActors::TActorContext& ctx);

ydb/mvp/oidc_proxy/openid_connect.cpp

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -237,5 +237,16 @@ TCheckStateResult CheckState(const TString& state, const TString& key) {
237237
return TCheckStateResult();
238238
}
239239

240+
TString DecodeToken(const TStringBuf& cookie, const NActors::TActorContext& ctx) {
241+
TString token;
242+
try {
243+
Base64StrictDecode(cookie, token);
244+
} catch (std::exception& e) {
245+
LOG_DEBUG_S(ctx, EService::MVP, "Base64Decode " << cookie << " cookie: " << e.what());
246+
token.clear();
247+
}
248+
return token;
249+
}
250+
240251
} // NOIDC
241252
} // NMVP

ydb/mvp/oidc_proxy/openid_connect.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
#include <ydb/mvp/core/core_ydb.h>
1010
#include "context.h"
1111

12-
1312
namespace NMVP {
1413
namespace NOIDC {
1514

@@ -52,6 +51,7 @@ TString ClearSecureCookie(const TString& name);
5251
void SetCORS(const NHttp::THttpIncomingRequestPtr& request, NHttp::THeadersBuilder* const headers);
5352
TRestoreOidcContextResult RestoreOidcContext(const NHttp::TCookies& cookies, const TString& key);
5453
TCheckStateResult CheckState(const TString& state, const TString& key);
54+
TString DecodeToken(const TStringBuf& cookie, const NActors::TActorContext& ctx);
5555

5656
template <typename TSessionService>
5757
std::unique_ptr<NYdbGrpc::TServiceConnection<TSessionService>> CreateGRpcServiceConnection(const TString& endpoint) {

0 commit comments

Comments
 (0)