Как использовать Freelancer.com API и Oauth2 для авторизации пользователя и получения токена - PullRequest
0 голосов
/ 11 декабря 2018

Компания, с которой я работаю, имеет учетную запись для доступа к API freelancer.com.

Я использую учетные данные компаний (client_id, secret_id, перенаправления и т. Д.) Для доступа к API и написания кода для реализации авторизации Oauth2.

Я написал рабочий код для создания перенаправления, которое представляетпользователь с окном входа на freelancer.com.

Когда пользователь входит в систему и перенаправляется, я ожидаю, что клиент получит токен, но этого не происходит.

Вместо этогоМне сообщают об этой ошибке:

{ status_code: 500,
  message: 'Internal Server Error',
  request_id: '4bcb5927-b9a1-44e4-etc-etc-etc' }

Ключ request_id всегда отличается и каждая попытка запроса токена.

Способ устранения проблемы заключается в постепенном расстановке частей каждой частиотправьте URL запроса вместе и следите за ошибками по мере их появления.

Так, например, я изначально только что написал:

https://accounts.freelancer.com/oauth/token

Затем я получил сообщение о том, что оно содержит недопустимый grant_request.

Итак, я добавил это:

https://accounts.freelancer.com/oauth/token?grant_type=authorization_code

Тогда я бы ожидал ошибку «недопустимый идентификатор клиента», так как это следующий пропущенный фрагмент information.

Тем не менее, я все еще получил следующую ошибку:

{ status_code: 500,
  message: 'Internal Server Error',
  request_id: '4bcb5927-b9a1-44e4-etc-etc-etc' }

Я продолжил и написал всю строку URL / запроса, чтобы отразить пример в документации по интерфейсу API фрилансера, например так:

https://accounts.freelancer.com/oauth/token?grant_type=authorization_code&code=${req.query.code}&client_id=CLIENT-ID&client_secret=CLIENT-SECRET&redirect_uri=http://localhost:3000/auth/freelancer/callback

Теперь я получаю следующую ошибку:

{"success":false,"msg":"The client is not authorized to request a token using this method."}

Я думаю, что проблема может быть в том, что я использую неоплаченную учетную запись для входа в систему и тестирования, ноЯ не уверен, что это проблема.

...