Я пытаюсь научиться использовать новый API Lulu и застрял на авторизации OAuth2.Они дают образец в Curl, но я не знаком с ним.Я нашел ответ в предыдущей теме, но он, похоже, не работает для этого приложения.документацию по Lulu Api можно найти по адресу developers.lulu.com/public-docs, но за ней трудно следовать.У меня многолетний опыт работы с C # для настольных приложений, но я новичок в использовании Rest API или Oauth.
Это мой текущий код, сгенерированный из других вопросов и ответов по stackoverflow
var client = new RestClient($"https://api.sandbox.lulu.com/auth/realms/glasstree/ptotocol/openid connect");
string clientKeySecret=" Basic ZjJjNDdmMTctOWMxZi00ZWZlLWIzYzEtMDI4YTNlZTRjM2M3OjMzOTViZGU4LTBkMjQtNGQ0Ny1hYTRLWM4NGM3NjI0OGRiYw=='";
var request = new RestRequest()
{
Method = Method.GET
};
request.AddParameter("grant_type", "client_credentials");
request.AddHeader("Accept", "application/json");
request.AddHeader("Content_Type", "application/x-www-form-urlencoded");
request.AddHeader("Authorization", clientKeySecret);
var response = client.Execute(request);
var strJSONData = response.Content;
Когда язапустите его strJSONData является нулевым.
(пс. Переменная clientKeySecret не является реальной)
Вот что говорится в документации о том, как запросить токен:
Авторизация Lulu API использует OpenID Connectслой аутентификации, построенный поверх OAuth 2.0.Вместо обмена именем пользователя и паролем, API использует JSON Web Token (JWT) для авторизации клиентских запросов.
Для взаимодействия с API вам необходимы клиентский ключ и клиентский секрет.Откройте страницу «Ключи и секреты клиента», чтобы сгенерировать их.
Создание токена Для взаимодействия с API сначала необходимо сгенерировать токен OAuth.Для этого требуются следующие параметры:
client_key client_secret grant-type должен иметь значение client_credentials. Необходимо отправить запрос POST к конечной точке токена специальный заголовок авторизации.Для вашего удобства вы можете скопировать строку авторизации прямо со страницы ключей API:
curl -X POST https://api.lulu.com/auth/realms/glasstree/protocol/openid_connect/token \
-d 'grant_type=client_credentials' \
-H 'Content-Type: application/x-www-form-urlencoded' \
-H 'Authorization: Basic ZjJjNDdmMTctOWMxZi00ZWZlLWIzYzEtMDI4YTNlZTRjM2M3OjMzOTViZGU4LTBkMjQtNGQ0Ny1hYTRjLWM4NGM3NjI0OGRiYw=='