[API] Mauvaise compatibilité avec les clients OAUTH2
supertinou opened this issue · comments
API / BUG
Mauvaise compatibilité avec les clients OAUTH2
La compatibilité avec les clients OAUTH2 laisse à désirer, ceci est principalement du à la réponse non conventionnelle :
Concernant l'Access Token Response, par exemple, la RFC 6749 (https://tools.ietf.org/html/rfc6749#section-4.3.3) spécifie une réponse de la forme suivante :
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Cache-Control: no-store
Pragma: no-cache
{
"access_token":"XXXXXXXXXXXXXXXXXXXXXXXX",
"token_type":"example",
"expires_in":3600,
"refresh_token":"XXXXXXXXXXXXXXXXXXXXXXX",
"example_parameter":"example_value"
}
Or la réponse fournit par l'API du site étu est de cette forme :
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Cache-Control: private, must-revalidate, no-transform
Pragma: no-cache
{
"http": {
"status": 200,
"message": "OK"
},
"response": {
"access_token": "XXXXXXXXXXXXXXXXXXXXXXXXXX",
"expires_in": 3600,
"scope": "public private_user_account",
"refresh_token": "XXXXXXXXXXXXXXXXXXXXXXXXXXX"
}
}
Les clients ne sont pas capable de parser la réponse pour récupérer l'access_token
Les changements devraient être fait dans une version V2 de l'API afin de ne pas introduire de "breaking changes" pouvant empecher le fonctionnement des applications utilisant actuellement l'API.
Merci pour l'issue, ca permettra de s'en rappeler.
Dès que j'ai le temps, je me penche dessus.