Ошибка запроса токена доступа FIWARE-Lab KeyRock

Я тестирую протокол предоставления кода авторизации на экземпляре KeyRock GE в FIWARE-Lab, используя веб-клиент DHC.

До сих пор мне удалось реализовать запрос авторизации, и я получил код, который будет использоваться в запросе токена доступа. URL-адрес для запроса на авторизацию следующий (хотя и не выполняется в DHC, а в обычном браузере, поэтому я могу ввести свой логин и пароль):

https://account.lab.fiware.org/oauth2/authorize/?response_type=code&client_id=2122&redirect_uri=http%3A%2F%2Flocalhost%2FCallback

Я проверил, что client_id и redirect_uri соответствуют значениям, связанным с моим приложением, в моей учетной записи в FIWARE-Lab.

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

POST
https:// account.lab.fiware.org/oauth2/token?grant_type=authorization_code&code=<code>&redirect_uri=http%3A%2F%2Flocalhost%2FCallback -- <code> is the code obtained on the Auth. Request
Authorization: Basic <XXXX> --- <XXXX> is the result of base64(client_id+":"+client_secret)
Content-Type: application/x-www-form-urlencoded

... Я получаю следующее сообщение об ошибке:

{
"error":{
"message": "create_access_token() takes exactly 3 arguments (2 given)",
"code": 400,
"title": "Bad Request"
}
}

Я проверил правильность авторизации (Basic с использованием учетных данных OAuth из моего приложения), и я использую тот же redirect_uri, который использовался в предыдущем запросе авторизации, и код, полученный из него.

Что не так?

P.S.: Если я удалю какие-либо или все параметры запроса, я все равно получу ту же ошибку.


person DavidMM    schedule 09.07.2015    source источник


Ответы (2)


Не передавайте параметры в URL. Вместо этого добавьте их в тело запроса в виде строки запроса:

POST /oauth2/token HTTP/1.1
Host: account.lab.fiware.org
Content-Type: application/x-www-form-urlencoded
Authorization: Basic <XXXX> --- <XXXX>
Cache-Control: no-cache
Content-Type: application/x-www-form-urlencoded

grant_type=authorization_code&code=1234&redirect_uri=http%3A%2F%2Flocalhost%3A9000%2Fcodecallback.html
person Tania Petsouka    schedule 11.08.2015

Предлагаю выполнить шаги из презентации:

Добавление управления идентификацией и контроля доступа в ваше приложение

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

person flopez    schedule 09.07.2015