diff --git a/ydb/library/yql/providers/yt/provider/yql_yt_datasource.cpp b/ydb/library/yql/providers/yt/provider/yql_yt_datasource.cpp index 0b96de14b363..8f9ba7a15b95 100644 --- a/ydb/library/yql/providers/yt/provider/yql_yt_datasource.cpp +++ b/ydb/library/yql/providers/yt/provider/yql_yt_datasource.cpp @@ -99,7 +99,10 @@ class TYtDataSource : public TDataProviderBase { const TString& token = properties.Value("token", ""); State_->Configuration->AddValidCluster(name); - State_->Configuration->Tokens[name] = ComposeStructuredTokenJsonForTokenAuthWithSecret(properties.Value("tokenReference", ""), token); + if (token) { + // Empty token is forbidden for yt reader + State_->Configuration->Tokens[name] = ComposeStructuredTokenJsonForTokenAuthWithSecret(properties.Value("tokenReference", ""), token); + } TYtClusterConfig cluster; cluster.SetName(name); diff --git a/ydb/library/yql/providers/yt/provider/yql_yt_dq_integration.cpp b/ydb/library/yql/providers/yt/provider/yql_yt_dq_integration.cpp index 49dbfed61b4e..a9ef1a104fb9 100644 --- a/ydb/library/yql/providers/yt/provider/yql_yt_dq_integration.cpp +++ b/ydb/library/yql/providers/yt/provider/yql_yt_dq_integration.cpp @@ -507,7 +507,7 @@ class TYtDqIntegration: public TDqIntegrationBase { if (auto maybeYtReadTable = TMaybeNode(read)) { TMaybeNode secParams; const auto cluster = maybeYtReadTable.Cast().DataSource().Cluster(); - if (State_->Configuration->Auth.Get().GetOrElse(TString()) || State_->Configuration->Tokens.contains(cluster)) { + if (State_->Configuration->Auth.Get().GetOrElse(TString()) || State_->Configuration->Tokens.Value(cluster, "")) { secParams = Build(ctx, read->Pos()).Name().Build(TString("cluster:default_").append(cluster)).Done(); } return Build(ctx, read->Pos())