DHC Web クライアントを使用して、FIWARE-Lab の KeyRock GE のインスタンスで Authorization Code Grant プロトコルをテストしています。
ここまでで、Authorization Request の実装に成功し、Access Token Request で使用するコードを取得しました。Authorization Request の 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"
}
}
認証が正しいことを確認しました (アプリケーションからの OAuth 資格情報を使用した Basic)。以前の認証要求で使用したものと同じ redirect_uri と、それから取得したコードを使用しています。
なにが問題ですか?
PS: クエリ パラメータの一部またはすべてを削除しても、同じエラーが発生します。