Добавление аутентификации в инструмент StrawberryShake GraphqlC#

Место общения программистов C#
Ответить
Anonymous
 Добавление аутентификации в инструмент StrawberryShake Graphql

Сообщение Anonymous »

Я пытаюсь интегрировать GraphQL в свой бэкэнд для получения данных из частной конечной точки. Я надеялся автоматически генерировать модели и классы из схемы и нашел этот замечательный инструмент под названием клубничный коктейль. Я добавил в свой терминал следующее:

Код: Выделить всё

dotnet graphql init https:/70sh7x92sb.execute.amazonaws.com/main/v1/graphql/external --scheme Bearer --token dsafdasfsadfasdfsadfdkfljdsklajkl;dfjaksl;dfjsdfsdf
Создатели этой конечной точки предоставили мне веб-токен json, который я использую для подключения. Используя другую библиотеку Graphql .NET, я просто добавляю этот токен в заголовок, и все работает, и я получаю данные из API:

Код: Выделить всё

                using (StreamReader reader = new(Path.Combine(_env.ContentRootPath,"Features/MCReview/GraphQLQueries/getIndexRates.graphql")))
{
var graphQLClient = new GraphQLHttpClient(_uri,
new SystemTextJsonSerializer());

graphQLClient.HttpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(_jwt);

var query = new GraphQLRequest
{
Query = reader.ReadToEnd()

};

var response = await graphQLClient.SendQueryAsync(query);

return Ok(new ResponseDTO()
{
Succeeded = true,
StatusCode = 200,
Message = "The data has been successfuly sent.",
Data = response.Data,
Pagination = null
});
}
Однако я хочу использовать клубничный коктейль, поскольку он генерирует классы и строго типизирует клиента. Когда я запускаю инициализацию dotnetgraphql, описанную выше, это приводит к следующей ошибке:

Код: Выделить всё

Download schema started.
Download schema completed in 6 ms
Unhandled exception. System.UriFormatException: Invalid URI: The Authority/Host could not be parsed.
at System.Uri.CreateThis(String uri, Boolean dontEscape, UriKind uriKind, UriCreationOptions& creationOptions)
at System.Uri..ctor(String uriString)
at StrawberryShake.Tools.InitCommandHandler.DownloadSchemaAsync(InitCommandContext context, CancellationToken cancellationToken) in /home/runner/work/graphql-platform/graphql-platform/src/StrawberryShake/Tooling/src/dotnet-graphql/InitCommandHandler.cs:line 102
at StrawberryShake.Tools.InitCommandHandler.ExecuteInternalAsync(InitCommandContext context, CancellationToken cancellationToken) in /home/runner/work/graphql-platform/graphql-platform/src/StrawberryShake/Tooling/src/dotnet-graphql/InitCommandHandler.cs:line 82
at StrawberryShake.Tools.InitCommandHandler.ExecuteAsync(InitCommandArguments arguments, CancellationToken cancellationToken) in /home/runner/work/graphql-platform/graphql-platform/src/StrawberryShake/Tooling/src/dotnet-graphql/InitCommandHandler.cs:line 68
at McMaster.Extensions.CommandLineUtils.CommandLineApplication.ExecuteAsync(String[] args, CancellationToken cancellationToken)
at StrawberryShake.Tools.Program.(String[] args)
Непонятно, что является причиной этого.

Подробнее здесь: https://stackoverflow.com/questions/792 ... aphql-tool
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»