Orocrm - OAuth веб-API, запрос возвращает 401 - PullRequest
0 голосов
/ 02 марта 2020

Как гласит заголовок, я получаю ответ 401 всякий раз, когда пытаюсь запросить любую конечную точку из API веб-службы (я использую orocrm 4.1 и публичные c +, частные ключи были сгенерированы и помещены в / var вместе с правильное имя).

1. Создано приложение OAuth

Тип предоставления = client_credentials (у выбранного пользователя есть все права администратора): enter image description here

2. Получить токен (используя клиент GuzzleHttp)

$base_uri = 'https://mywebsite.com';
$generate_token_endpoint = '/oauth2-token';
$grant_type = 'client_credentials';
$client_id = '###############################';
$client_secret = '#################################';

$client = new Client(array(
    'base_uri' => $base_uri,
     'headers' => array(
          'Content-Type' => 'application/vnd.api+json'
      )
 ));

$response = $client->post($generate_token_endpoint, array(
    'form_params' => array(
          'grant_type' => $grant_type,
          'client_id' => $client_id,
          'client_secret' => $client_secret
     )
));

$tokenJson = json_decode($response->getBody()->getContents(), true);
$token = 'Bearer '.$tokenJson['access_token'];

// The actual request to get some data
$response = $client->get('/api/users', array(
     'headers' => array(
          'Authorization' => $token
      )
));

Я получаю токен, я даже продлил срок его службы, но затем результат следующего запроса (независимо от того, что я делаю):

Client error: 'GET https://mywebsite.com/api/users' resulted in a '401 Unauthorized' response

Я также пытался использовать POSTMAN, но результат тот же.

HELP!

Ответы [ 2 ]

0 голосов
/ 01 мая 2020

Сгенерируйте publi c .key или private.key и сохраните в папку var, например:

app folder / var / oauth_private.key
app folder / var / oauth_public.key

, вы можете выполнить следующие шаги:

  1. openssl genrsa -out oauth_private.key 2048
  2. openssl rsa -in private.key -pubout -out oauth_publi c .key
  3. и затем перейти в папку var

ссылка ссылка

https://oauth2.thephpleague.com/installation/#generating-public-and-private-keys
0 голосов
/ 10 марта 2020

Пожалуйста, убедитесь, что вы сгенерировали ключи шифрования правильно и поместили их в папку var с соответствующими именами: https://doc.oroinc.com/user/back-office/system/user-management/oauth-app/#starting -условия Если ключи не настроены должным образом, на странице с приложениями oAuth вы будете см. предупреждение

OAuth-авторизация недоступна, поскольку настройка ключей шифрования не завершена. Пожалуйста, свяжитесь с вашим администратором.

Если ключи есть, вы должны проверить журналы приложений на наличие ошибок после аутентификации. Также проверьте ответ от сервера. Обычно в нем есть некоторые намеки на то, что не так.

...