aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrey Molotkov <molotkov-and@ydb.tech>2024-07-18 18:59:18 +0300
committerGitHub <noreply@github.com>2024-07-18 18:59:18 +0300
commita22a03fda39dcde10f66b73acb1c93016c0ccc57 (patch)
tree1679ba1e435b2fd02236d775fea19002b3ea0296
parent095ec1273f6d61f19db05f15c3035170250dc3a9 (diff)
downloadydb-a22a03fda39dcde10f66b73acb1c93016c0ccc57.tar.gz
Remove msgbus login method (#6523)
-rw-r--r--ydb/core/client/server/grpc_server.cpp1
-rw-r--r--ydb/core/client/server/msgbus_server.cpp3
-rw-r--r--ydb/core/client/server/msgbus_server.h1
-rw-r--r--ydb/core/client/server/msgbus_server_login_request.cpp125
-rw-r--r--ydb/core/client/server/ya.make1
-rw-r--r--ydb/core/driver_lib/cli_base/cli_kicli.cpp27
-rw-r--r--ydb/core/driver_lib/cli_base/ya.make3
-rw-r--r--ydb/core/protos/grpc.proto2
-rw-r--r--ydb/core/protos/msgbus.proto10
-rw-r--r--ydb/public/lib/base/msgbus.h4
-rw-r--r--ydb/public/lib/deprecated/client/grpc_client.cpp1
-rw-r--r--ydb/public/lib/deprecated/client/grpc_client.h2
-rw-r--r--ydb/public/lib/deprecated/kicli/kikimr.cpp2
-rw-r--r--ydb/public/lib/ydb_cli/commands/sdk_core_access/ya.make12
-rw-r--r--ydb/public/lib/ydb_cli/commands/ya.make2
15 files changed, 35 insertions, 161 deletions
diff --git a/ydb/core/client/server/grpc_server.cpp b/ydb/core/client/server/grpc_server.cpp
index d390115844..2626fa7cc5 100644
--- a/ydb/core/client/server/grpc_server.cpp
+++ b/ydb/core/client/server/grpc_server.cpp
@@ -453,7 +453,6 @@ void TGRpcService::SetupIncomingRequests() {
ADD_ACTOR_REQUEST(DrainNode, TDrainNodeRequest, MTYPE_CLIENT_DRAIN_NODE)
ADD_ACTOR_REQUEST(InterconnectDebug, TInterconnectDebug, MTYPE_CLIENT_INTERCONNECT_DEBUG)
ADD_ACTOR_REQUEST(TestShardControl, TTestShardControlRequest, MTYPE_CLIENT_TEST_SHARD_CONTROL)
- ADD_ACTOR_REQUEST(LoginRequest, TLoginRequest, MTYPE_CLIENT_LOGIN_REQUEST)
// dynamic node registration
ADD_REQUEST(RegisterNode, TNodeRegistrationRequest, TNodeRegistrationResponse, {
diff --git a/ydb/core/client/server/msgbus_server.cpp b/ydb/core/client/server/msgbus_server.cpp
index 0f420b6386..26c0990cf0 100644
--- a/ydb/core/client/server/msgbus_server.cpp
+++ b/ydb/core/client/server/msgbus_server.cpp
@@ -124,7 +124,6 @@ public:
MTYPE(TBusFillNode)
MTYPE(TBusDrainNode)
MTYPE(TBusTestShardControlRequest)
- MTYPE(TBusLoginRequest)
#undef MTYPE
}
@@ -543,8 +542,6 @@ void TMessageBusServer::OnMessage(TBusMessageContext &msg) {
return ClientActorRequest(CreateMessageBusConsoleRequest, msg);
case MTYPE_CLIENT_TEST_SHARD_CONTROL:
return ClientActorRequest(CreateMessageBusTestShardControl, msg);
- case MTYPE_CLIENT_LOGIN_REQUEST:
- return ClientActorRequest(CreateMessageBusLoginRequest, msg);
default:
return UnknownMessage(msg);
}
diff --git a/ydb/core/client/server/msgbus_server.h b/ydb/core/client/server/msgbus_server.h
index 9a57ede2c7..4acd4cf956 100644
--- a/ydb/core/client/server/msgbus_server.h
+++ b/ydb/core/client/server/msgbus_server.h
@@ -297,7 +297,6 @@ IActor* CreateMessageBusSqsRequest(TBusMessageContext &msg);
IActor* CreateMessageBusInterconnectDebug(TBusMessageContext& msg);
IActor* CreateMessageBusConsoleRequest(TBusMessageContext &msg);
IActor* CreateMessageBusTestShardControl(TBusMessageContext &msg);
-IActor* CreateMessageBusLoginRequest(TBusMessageContext &msg);
TBusResponse* ProposeTransactionStatusToResponse(EResponseStatus status, const NKikimrTxUserProxy::TEvProposeTransactionStatus &result);
diff --git a/ydb/core/client/server/msgbus_server_login_request.cpp b/ydb/core/client/server/msgbus_server_login_request.cpp
deleted file mode 100644
index 5f623e49bc..0000000000
--- a/ydb/core/client/server/msgbus_server_login_request.cpp
+++ /dev/null
@@ -1,125 +0,0 @@
-#include "msgbus_server.h"
-#include <ydb/core/base/tablet_pipe.h>
-#include <ydb/core/tx/schemeshard/schemeshard.h>
-#include <ydb/core/tx/scheme_cache/scheme_cache.h>
-#include <ydb/public/api/protos/ydb_auth.pb.h>
-
-#include <ydb/core/protos/auth.pb.h>
-
-namespace NKikimr {
-namespace NMsgBusProxy {
-
-using namespace NSchemeShard;
-
-class TMessageBusLoginRequest : public TActorBootstrapped<TMessageBusLoginRequest>, public TMessageBusSessionIdentHolder {
- THolder<TBusLoginRequest> Request;
- THolder<TEvSchemeShard::TEvLoginResult> Result;
- TDuration Timeout = TDuration::MilliSeconds(60000);
- TActorId PipeClient;
- NMsgBusProxy::EResponseStatus Status;
-public:
- TMessageBusLoginRequest(TBusMessageContext& msg)
- : TMessageBusSessionIdentHolder(msg)
- , Request(static_cast<TBusLoginRequest*>(msg.ReleaseMessage()))
- {
- }
-
- NTabletPipe::TClientConfig GetPipeClientConfig() {
- NTabletPipe::TClientConfig clientConfig;
- clientConfig.RetryPolicy = {.RetryLimitCount = 3};
- return clientConfig;
- }
-
- void Bootstrap() {
- TString domainName = "/" + AppData()->DomainsInfo->GetDomain()->Name;
- TString path = AppData()->AuthConfig.GetDomainLoginOnly() ? domainName : TString();//Request.Get()->GetRecord()->GetDatabaseName();
- auto request = MakeHolder<NSchemeCache::TSchemeCacheNavigate>();
- request->DatabaseName = path;
- auto& entry = request->ResultSet.emplace_back();
- entry.Operation = NSchemeCache::TSchemeCacheNavigate::OpPath;
- entry.Path = ::NKikimr::SplitPath(path);
- entry.RedirectRequired = false;
- Send(MakeSchemeCacheID(), new TEvTxProxySchemeCache::TEvNavigateKeySet(request.Release()));
-
- Become(&TThis::StateWork, Timeout, new TEvents::TEvWakeup());
- }
-
- void HandleTimeout() {
- Status = MSTATUS_TIMEOUT;
- ReplyAndPassAway();
- }
-
- void HandleNavigate(TEvTxProxySchemeCache::TEvNavigateKeySetResult::TPtr& ev) {
- const NSchemeCache::TSchemeCacheNavigate* response = ev->Get()->Request.Get();
- if (response->ResultSet.size() == 1) {
- const NSchemeCache::TSchemeCacheNavigate::TEntry& entry = response->ResultSet.front();
- ui64 schemeShardTabletId = entry.DomainInfo->ExtractSchemeShard();
- IActor* pipe = NTabletPipe::CreateClient(SelfId(), schemeShardTabletId, GetPipeClientConfig());
- PipeClient = RegisterWithSameMailbox(pipe);
- THolder<TEvSchemeShard::TEvLogin> request = MakeHolder<TEvSchemeShard::TEvLogin>();
- request.Get()->Record.SetUser(Request.Get()->Record.GetUser());
- request.Get()->Record.SetPassword(Request.Get()->Record.GetPassword());
- NTabletPipe::SendData(SelfId(), PipeClient, request.Release());
- return;
- }
- Status = MSTATUS_ERROR;
- ReplyAndPassAway();
- }
-
- void HandleResult(TEvSchemeShard::TEvLoginResult::TPtr& ev) {
- Status = MSTATUS_OK;
- Result = ev->Release();
- ReplyAndPassAway();
- }
-
- void HandleUndelivered(TEvents::TEvUndelivered::TPtr&) {
- Status = MSTATUS_NOTREADY;
- ReplyAndPassAway();
- }
-
- void HandleConnect(TEvTabletPipe::TEvClientConnected::TPtr& ev) {
- if (ev->Get()->Status != NKikimrProto::OK) {
- Status = MSTATUS_NOTREADY;
- ReplyAndPassAway();
- }
- }
-
- STATEFN(StateWork) {
- switch (ev->GetTypeRewrite()) {
- hFunc(TEvents::TEvUndelivered, HandleUndelivered);
- hFunc(TEvTabletPipe::TEvClientConnected, HandleConnect);
- hFunc(TEvTxProxySchemeCache::TEvNavigateKeySetResult, HandleNavigate);
- hFunc(TEvSchemeShard::TEvLoginResult, HandleResult);
- cFunc(TEvents::TSystem::Wakeup, HandleTimeout);
- }
- }
-
- void ReplyAndPassAway() {
- if (PipeClient) {
- NTabletPipe::CloseClient(SelfId(), PipeClient);
- }
- THolder<TBusResponse> response(new TBusResponse());
- if (Result) {
- const NKikimrScheme::TEvLoginResult& record = Result->Record;
- if (record.error()) {
- response->Record.SetErrorReason(record.error());
- response->Record.SetStatus(MSTATUS_ERROR);
- Status = MSTATUS_ERROR;
- }
- if (record.token()) {
- response->Record.SetUserToken(record.token());
- response->Record.SetStatus(MSTATUS_OK);
- Status = MSTATUS_OK;
- }
- }
- SendReplyMove(response.Release());
- PassAway();
- }
-};
-
-IActor* CreateMessageBusLoginRequest(TBusMessageContext& msg) {
- return new TMessageBusLoginRequest(msg);
-}
-
-}
-}
diff --git a/ydb/core/client/server/ya.make b/ydb/core/client/server/ya.make
index 12a6f6e0a2..9c3c4201b3 100644
--- a/ydb/core/client/server/ya.make
+++ b/ydb/core/client/server/ya.make
@@ -28,7 +28,6 @@ SRCS(
msgbus_server_local_enumerate_tablets.cpp
msgbus_server_local_minikql.cpp
msgbus_server_local_scheme_tx.cpp
- msgbus_server_login_request.cpp
msgbus_server_node_registration.cpp
msgbus_server_proxy.cpp
msgbus_server_proxy.h
diff --git a/ydb/core/driver_lib/cli_base/cli_kicli.cpp b/ydb/core/driver_lib/cli_base/cli_kicli.cpp
index d430fa9e72..55b2409fa9 100644
--- a/ydb/core/driver_lib/cli_base/cli_kicli.cpp
+++ b/ydb/core/driver_lib/cli_base/cli_kicli.cpp
@@ -1,3 +1,7 @@
+#include <ydb/public/sdk/cpp/client/ydb_driver/driver.h>
+#include <ydb/public/sdk/cpp/client/ydb_types/credentials/credentials.h>
+#include <ydb/public/lib/ydb_cli/commands/ydb_sdk_core_access.h>
+#include <ydb/core/driver_lib/cli_config_base/config_base.h>
#include "cli_kicli.h"
namespace NKikimr {
@@ -67,17 +71,22 @@ int InvokeThroughKikimr(TClientCommand::TConfig& config, std::function<int(NClie
}
if (!config.StaticCredentials.User.empty()) {
- TAutoPtr<NMsgBusProxy::TBusLoginRequest> request = new NMsgBusProxy::TBusLoginRequest();
- request.Get()->Record.SetUser(config.StaticCredentials.User);
- request.Get()->Record.SetPassword(config.StaticCredentials.Password);
- NClient::TResult result = kikimr.ExecuteRequest(request.Release()).GetValueSync();
- if (result.GetStatus() == NMsgBusProxy::MSTATUS_OK) {
- kikimr.SetSecurityToken(result.GetResponse<NMsgBusProxy::TBusResponse>().Record.GetUserToken());
- config.SecurityToken = result.GetResponse<NMsgBusProxy::TBusResponse>().Record.GetUserToken();
- } else {
- Cerr << result.GetError().GetMessage() << Endl;
+ NYdb::TDriverConfig driverConfig;
+ driverConfig.SetEndpoint(TCommandConfig::ParseServerAddress(config.Address).Address);
+ NYdb::TDriver connection(driverConfig);
+ NYdb::NConsoleClient::TDummyClient client(connection);
+
+ auto credentialsProviderFactory = NYdb::CreateLoginCredentialsProviderFactory(config.StaticCredentials);
+ auto loginProvider = credentialsProviderFactory->CreateProvider(client.GetCoreFacility());
+ try {
+ config.SecurityToken = loginProvider->GetAuthInfo();
+ } catch (yexception& ex) {
+ Cerr << ex.what() << Endl;
+ connection.Stop();
return 1;
}
+ connection.Stop();
+ kikimr.SetSecurityToken(config.SecurityToken);
}
return handler(kikimr);
diff --git a/ydb/core/driver_lib/cli_base/ya.make b/ydb/core/driver_lib/cli_base/ya.make
index 632e6c029d..fb3f08875d 100644
--- a/ydb/core/driver_lib/cli_base/ya.make
+++ b/ydb/core/driver_lib/cli_base/ya.make
@@ -14,6 +14,9 @@ PEERDIR(
ydb/public/lib/ydb_cli/common
ydb/public/sdk/cpp/client/resources
ydb/public/sdk/cpp/client/ydb_table
+ ydb/public/sdk/cpp/client/ydb_driver
+ ydb/public/sdk/cpp/client/ydb_types/credentials
+ ydb/public/lib/ydb_cli/commands/sdk_core_access
ydb/public/lib/ydb_cli/commands/ydb_discovery
)
diff --git a/ydb/core/protos/grpc.proto b/ydb/core/protos/grpc.proto
index 242bd3938e..2e2bb2f64a 100644
--- a/ydb/core/protos/grpc.proto
+++ b/ydb/core/protos/grpc.proto
@@ -25,8 +25,6 @@ service TGRpcServer {
rpc SchemeOperationStatus(TSchemeOperationStatus) returns (TResponse);
// describe
rpc SchemeDescribe(TSchemeDescribe) returns (TResponse);
- // login
- rpc LoginRequest(TLoginRequest) returns (TResponse);
/////////////////////////////////////////////////////////////////////////////////////////////////
// CHOOSE PROXY INTERFACE
diff --git a/ydb/core/protos/msgbus.proto b/ydb/core/protos/msgbus.proto
index 64d456258b..ddfb74a68f 100644
--- a/ydb/core/protos/msgbus.proto
+++ b/ydb/core/protos/msgbus.proto
@@ -241,9 +241,6 @@ message TResponse {
// TChooseProxyRequest
optional string ProxyName = 1050;
optional uint64 ProxyCookie = 1051;
-
- // Login
- optional string UserToken = 1102;
}
message TFakeConfigDummy {
@@ -717,10 +714,3 @@ message TTestShardControlRequest {
message TTestShardControlResponse {
}
-
-message TLoginRequest {
- optional string Database = 1;
- optional string User = 2;
- optional string Password = 3;
-};
-
diff --git a/ydb/public/lib/base/msgbus.h b/ydb/public/lib/base/msgbus.h
index 64c42949ad..baf1d6312c 100644
--- a/ydb/public/lib/base/msgbus.h
+++ b/ydb/public/lib/base/msgbus.h
@@ -87,7 +87,7 @@ enum {
MTYPE_CLIENT_TEST_SHARD_CONTROL = 10481,
MTYPE_CLIENT_DS_LOAD_REQUEST = 10482, // deprecated
MTYPE_CLIENT_DS_LOAD_RESPONSE = 10483, // deprecated
- MTYPE_CLIENT_LOGIN_REQUEST = 10484,
+ /*MTYPE_CLIENT_LOGIN_REQUEST*/ MTYPE_CLIENT_DEPRECATED_10484 = 10484,
};
template <typename InstanceType, class TBufferRecord, int MType>
@@ -136,7 +136,6 @@ struct TBusInterconnectDebug : TBusMessage<TBusInterconnectDebug, NKikimrClient:
struct TBusConsoleRequest : TBusMessage<TBusConsoleRequest, NKikimrClient::TConsoleRequest, MTYPE_CLIENT_CONSOLE_REQUEST> {};
struct TBusConsoleResponse : TBusMessage<TBusConsoleResponse, NKikimrClient::TConsoleResponse, MTYPE_CLIENT_CONSOLE_RESPONSE> {};
struct TBusTestShardControlRequest : TBusMessage<TBusTestShardControlRequest, NKikimrClient::TTestShardControlRequest, MTYPE_CLIENT_TEST_SHARD_CONTROL> {};
-struct TBusLoginRequest : TBusMessage<TBusLoginRequest, NKikimrClient::TLoginRequest, MTYPE_CLIENT_LOGIN_REQUEST> {};
class TBusResponseStatus : public TBusResponse {
public:
@@ -218,7 +217,6 @@ public:
RegisterType(new TBusConsoleRequest);
RegisterType(new TBusConsoleResponse);
RegisterType(new TBusTestShardControlRequest);
- RegisterType(new TBusLoginRequest);
}
const static ui32 DefaultPort = 2134;
diff --git a/ydb/public/lib/deprecated/client/grpc_client.cpp b/ydb/public/lib/deprecated/client/grpc_client.cpp
index b8245a2226..5f8e0dcab1 100644
--- a/ydb/public/lib/deprecated/client/grpc_client.cpp
+++ b/ydb/public/lib/deprecated/client/grpc_client.cpp
@@ -339,7 +339,6 @@ namespace NKikimr {
IMPL_REQUEST(ConsoleRequest, TConsoleRequest, TConsoleResponse)
IMPL_REQUEST(FillNode, TFillNodeRequest, TResponse)
IMPL_REQUEST(DrainNode, TDrainNodeRequest, TResponse)
- IMPL_REQUEST(LoginRequest, TLoginRequest, TResponse)
} // NGRpcProxy
} // NKikimr
diff --git a/ydb/public/lib/deprecated/client/grpc_client.h b/ydb/public/lib/deprecated/client/grpc_client.h
index 1fc358bfed..b63ffa0395 100644
--- a/ydb/public/lib/deprecated/client/grpc_client.h
+++ b/ydb/public/lib/deprecated/client/grpc_client.h
@@ -111,8 +111,6 @@ namespace NKikimr {
void FillNode(const NKikimrClient::TFillNodeRequest& request, TResponseCallback callback);
void DrainNode(const NKikimrClient::TDrainNodeRequest& request, TResponseCallback callback);
-
- void LoginRequest(const NKikimrClient::TLoginRequest& request, TResponseCallback callback);
};
} // NGRpcProxy
diff --git a/ydb/public/lib/deprecated/kicli/kikimr.cpp b/ydb/public/lib/deprecated/kicli/kikimr.cpp
index 08d0ef1673..b5f6ab5771 100644
--- a/ydb/public/lib/deprecated/kicli/kikimr.cpp
+++ b/ydb/public/lib/deprecated/kicli/kikimr.cpp
@@ -276,8 +276,6 @@ public:
return ExecuteGRpcRequest<NMsgBusProxy::TBusDrainNode, NMsgBusProxy::TBusResponse>(&NGRpcProxy::TGRpcClient::DrainNode, promise, request);
case NMsgBusProxy::MTYPE_CLIENT_FILL_NODE:
return ExecuteGRpcRequest<NMsgBusProxy::TBusFillNode, NMsgBusProxy::TBusResponse>(&NGRpcProxy::TGRpcClient::FillNode, promise, request);
- case NMsgBusProxy::MTYPE_CLIENT_LOGIN_REQUEST:
- return ExecuteGRpcRequest<NMsgBusProxy::TBusLoginRequest, NMsgBusProxy::TBusResponse>(&NGRpcProxy::TGRpcClient::LoginRequest, promise, request);
default:
Y_ABORT("%s", (TStringBuilder() << "unexpected message type# " << type).data());
}
diff --git a/ydb/public/lib/ydb_cli/commands/sdk_core_access/ya.make b/ydb/public/lib/ydb_cli/commands/sdk_core_access/ya.make
new file mode 100644
index 0000000000..bf0c37a06d
--- /dev/null
+++ b/ydb/public/lib/ydb_cli/commands/sdk_core_access/ya.make
@@ -0,0 +1,12 @@
+LIBRARY(ydb_sdk_core_access)
+
+SRCS(
+ ../ydb_sdk_core_access.cpp
+)
+
+PEERDIR(
+ ydb/public/sdk/cpp/client/ydb_common_client/impl
+ ydb/public/sdk/cpp/client/ydb_types
+)
+
+END()
diff --git a/ydb/public/lib/ydb_cli/commands/ya.make b/ydb/public/lib/ydb_cli/commands/ya.make
index 94b9927a4a..dfebf11be7 100644
--- a/ydb/public/lib/ydb_cli/commands/ya.make
+++ b/ydb/public/lib/ydb_cli/commands/ya.make
@@ -11,7 +11,6 @@ SRCS(
query_workload.cpp
ydb_admin.cpp
ydb_benchmark.cpp
- ydb_sdk_core_access.cpp
ydb_dynamic_config.cpp
ydb_profile.cpp
ydb_root_common.cpp
@@ -48,6 +47,7 @@ PEERDIR(
ydb/public/lib/ydb_cli/commands/topic_workload
ydb/public/lib/ydb_cli/commands/transfer_workload
ydb/public/lib/ydb_cli/commands/ydb_discovery
+ ydb/public/lib/ydb_cli/commands/sdk_core_access
ydb/public/lib/ydb_cli/dump
ydb/public/lib/ydb_cli/import
ydb/public/lib/ydb_cli/topic