|
10 | 10 | #include "oidc_session_create_handler.h" |
11 | 11 | #include "oidc_settings.h" |
12 | 12 | #include "openid_connect.h" |
| 13 | +#include "context.h" |
13 | 14 |
|
14 | 15 | using namespace NMVP::NOIDC; |
15 | 16 |
|
@@ -657,7 +658,8 @@ Y_UNIT_TEST_SUITE(Mvp) { |
657 | 658 | TStringBuilder request; |
658 | 659 | request << "GET /auth/callback?code=code_template&state=" << state << " HTTP/1.1\r\n"; |
659 | 660 | request << "Host: " + hostProxy + "\r\n"; |
660 | | - request << "Cookie: " << CreateNameYdbOidcCookie(settings.ClientSecret, wrongState) << "=" << GenerateCookie(wrongState, "/requested/page", settings.ClientSecret, redirectStrategy.IsAjaxRequest()) << "\r\n"; |
| 661 | + TContext context(wrongState, "/requested/page", redirectStrategy.IsAjaxRequest()); |
| 662 | + request << "Cookie: " << context.CreateYdbOidcCookie(settings.ClientSecret) << "\r\n"; |
661 | 663 | NHttp::THttpIncomingRequestPtr incomingRequest = new NHttp::THttpIncomingRequest(); |
662 | 664 | EatWholeString(incomingRequest, redirectStrategy.CreateRequest(request)); |
663 | 665 | incomingRequest->Endpoint->Secure = true; |
@@ -711,8 +713,8 @@ Y_UNIT_TEST_SUITE(Mvp) { |
711 | 713 | TStringBuilder request; |
712 | 714 | request << "GET /auth/callback?code=code_template&state=" << state << " HTTP/1.1\r\n"; |
713 | 715 | request << "Host: oidcproxy.net\r\n"; |
714 | | - const TString oidcCookie = CreateNameYdbOidcCookie(settings.ClientSecret, state); |
715 | | - request << "Cookie: " << oidcCookie << "=" << GenerateCookie(state, "/requested/page", settings.ClientSecret, false) << "\r\n\r\n"; |
| 716 | + TContext context(state, "/requested/page", false); |
| 717 | + request << "Cookie: " << context.CreateYdbOidcCookie(settings.ClientSecret) << "\r\n\r\n"; |
716 | 718 | NHttp::THttpIncomingRequestPtr incomingRequest = new NHttp::THttpIncomingRequest(); |
717 | 719 | EatWholeString(incomingRequest, request); |
718 | 720 | runtime.Send(new IEventHandle(sessionCreator, edge, new NHttp::TEvHttpProxy::TEvHttpIncomingRequest(incomingRequest))); |
@@ -761,7 +763,8 @@ Y_UNIT_TEST_SUITE(Mvp) { |
761 | 763 | TStringBuilder request; |
762 | 764 | request << "GET /auth/callback?code=code_template&state=" << state << " HTTP/1.1\r\n"; |
763 | 765 | request << "Host: oidcproxy.net\r\n"; |
764 | | - request << "Cookie: " << CreateNameYdbOidcCookie(settings.ClientSecret, state) << "=" << GenerateCookie(state, "/requested/page", settings.ClientSecret, redirectStrategy.IsAjaxRequest()) << "\r\n"; |
| 766 | + TContext context(state, "/requested/page", redirectStrategy.IsAjaxRequest()); |
| 767 | + request << "Cookie: " << context.CreateYdbOidcCookie(settings.ClientSecret) << "\r\n"; |
765 | 768 | NHttp::THttpIncomingRequestPtr incomingRequest = new NHttp::THttpIncomingRequest(); |
766 | 769 | EatWholeString(incomingRequest, redirectStrategy.CreateRequest(request)); |
767 | 770 | incomingRequest->Endpoint->Secure = true; |
@@ -834,8 +837,8 @@ Y_UNIT_TEST_SUITE(Mvp) { |
834 | 837 | TStringBuilder request; |
835 | 838 | request << "GET /callback?code=code_template&state=" << state << " HTTP/1.1\r\n"; |
836 | 839 | request << "Host: oidcproxy.net\r\n"; |
837 | | - const TString oidcCookie = CreateNameYdbOidcCookie(settings.ClientSecret, state); |
838 | | - request << "Cookie: " << oidcCookie << "=" << GenerateCookie(state, "/requested/page", settings.ClientSecret, false) << "\r\n\r\n"; |
| 840 | + TContext context(state, "/requested/page", false); |
| 841 | + request << "Cookie: " << context.CreateYdbOidcCookie(settings.ClientSecret) << "\r\n\r\n"; |
839 | 842 | NHttp::THttpIncomingRequestPtr incomingRequest = new NHttp::THttpIncomingRequest(); |
840 | 843 | EatWholeString(incomingRequest, request); |
841 | 844 | runtime.Send(new IEventHandle(sessionCreator, edge, new NHttp::TEvHttpProxy::TEvHttpIncomingRequest(incomingRequest))); |
@@ -879,14 +882,14 @@ Y_UNIT_TEST_SUITE(Mvp) { |
879 | 882 | std::unique_ptr<grpc::Server> sessionServer(builder.BuildAndStart()); |
880 | 883 |
|
881 | 884 | const NActors::TActorId sessionCreator = runtime.Register(new TSessionCreateHandler(edge, settings)); |
882 | | - TStringBuf firstRequestState = "first_request_state"; |
883 | | - TStringBuf secondRequestState = "second_request_state"; |
884 | | - TString firstCookie {CreateNameYdbOidcCookie(settings.ClientSecret, firstRequestState) + "=" + GenerateCookie(firstRequestState, "/requested/page", settings.ClientSecret, redirectStrategy.IsAjaxRequest())}; |
885 | | - TString secondCookie {CreateNameYdbOidcCookie(settings.ClientSecret, secondRequestState) + "=" + GenerateCookie(secondRequestState, "/requested/page", settings.ClientSecret, redirectStrategy.IsAjaxRequest())}; |
| 885 | + TString firstRequestState = "first_request_state"; |
| 886 | + TString secondRequestState = "second_request_state"; |
| 887 | + TContext context1(firstRequestState, "/requested/page", redirectStrategy.IsAjaxRequest()); |
| 888 | + TContext context2(secondRequestState, "/requested/page", redirectStrategy.IsAjaxRequest()); |
886 | 889 | TStringBuilder request; |
887 | 890 | request << "GET /auth/callback?code=code_template&state=" << firstRequestState << " HTTP/1.1\r\n"; |
888 | 891 | request << "Host: oidcproxy.net\r\n"; |
889 | | - request << "Cookie: " << firstCookie << "; " << secondCookie << "\r\n"; |
| 892 | + request << "Cookie: " << context1.CreateYdbOidcCookie(settings.ClientSecret) << "; " << context2.CreateYdbOidcCookie(settings.ClientSecret) << "\r\n"; |
890 | 893 | NHttp::THttpIncomingRequestPtr incomingRequest = new NHttp::THttpIncomingRequest(); |
891 | 894 | EatWholeString(incomingRequest, redirectStrategy.CreateRequest(request)); |
892 | 895 | incomingRequest->Endpoint->Secure = true; |
|
0 commit comments