ungdev / EtuUTT

Site étudiant de l'UTT

Home Page:http://etu.utt.fr

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[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.