Я тестирую протокол предоставления кода авторизации на экземпляре 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.: Если я удалю какие-либо или все параметры запроса, я все равно получу ту же ошибку.