Accueil > OpenID Connect OAuth Server par DnC > Développer > OAuth 2.0 > OAuth 2.0 : Obtenir une autorisation pour l’application cliente

OAuth 2.0 : Obtenir une autorisation pour l’application cliente

Point d’extrémité d’autorisation (Authorization Endpoint)

https://oa.dnc.global/oauth/authorize.php
Le point d’extrémité d’autorisation est le point d’extrémité sur le serveur d’autorisation vers lequel l’application cliente redirige l’user-agent (en général un navigateur Web) pour obtenir une autorisation de la part de l’utilisateur final.

Forme de la demande d’autorisation

Voici un exemple en PHP avec SPIP :

SPIP

  1. // Interroger Authorize
  2. include_spip('inc/headers');
  3. $oauth_state = session_get('oauth_state');
  4. $url = "http://oa.dnc.global/oauth/authorize.php?response_type=code&
  5.           client_id=radar&state=$oauth_state";
  6. redirige_par_entete($url);

Télécharger

Notes :
- Le paramètre state, mentionné comme facultatif dans la spécification d’Oauth, est obligatoire sur OAuthSD afin d’éviter une faille de sécurité bien connue.
- Il est possible de rajouter à l’URL tout paramètre utile, comme un identificateur de session. Ceux-ci seront retransmis dans le corps de la réponse, de façon quasi intégrale (voir ci-après).
- Il est de la responsabilité de l’application cliente d’assurer la bonne forme et la sécurité des valeurs transmises par les paramètres d’URL.

A l’appel du Point d’extrémité d’autorisation :
- le serveur OAuth redirige l’user-agent vers la page d’authentification (on reste dans le domaine du serveur d’autorisation).
- le client s’authentifie dans cette page (donc sur le serveur d’authentification).
- le serveur poste le code d’autorisation au Point d’extrémité de redirection.

Voici un exemple de page d’authentification :

Notes :
- si l’on souhaite afficher la page d’authentification dans le contexte visuel de l’application cliente, il faut le faire dans un iFrame, plutôt que par une insertion en script côté client (Popup Javascript), afin de ne pas compromettre les identifiants de l’utilisateur. Cependant, il convient d’appliquer les bonnes pratiques de sécurité relatives à la mise en oeuvre des iFrame.

Retour à l’application cliente

En cas de succès, le serveur redirige le navigateur sur le point d’extrémité de redirection dans l’application cliente. Cet URI est défini par l’auteur d’une application cliente quand il l’inscrit sur ce serveur. Voir : OAuth 2.0 : Lier une application cliente au serveur OAuthSD.

Il est de la responsabilité de l’application cliente d’assurer sa sécurité vis-à-vis des valeurs transmises par les paramètres d’URL.