OAuth 2.0

OAuth permet aux développeurs d'applications de se connecter avec edu-focus.

Débuter

Pour commencer vous devez, si ce n'est déjà fait, enregistrer une application puis vous munir de votre client id et secret. Pour tous les détails relatif au protocole OAuth 2.0, merci de consulter la RFC 6749.

Ressources

Endpoints

URL

Utilisation

https://y.edu-focus.org/oauth/authorize

Demande d'autorisation

https://y.edu-focus.org/oauth/token

Echange d'un code

Scopes

Si vous demandez un scope pour lequel votre application n'a pas les autorisations, il sera tout simplement ignoré.

Scope

Description

identity

Informations de base sur l'utilisateur.

email

Obtenir l'email en plus des informations de base. S'utilise obligatoirement avec identity .

personal

Informations personnelles de l'utilisateur. S'utilise obligatoirement avec identity .

security

Lire les informations de sécurité du compte¹

security.edit

Modifier les paramètres de sécurité du compte². S'utilise obligatoirement avec security.

modify

Modifier le compte de l'utilisateur.¹

settings

Lire les paramètres globaux de l'utilisateur², voir l'api Settings pour plus de détails.

settings.edit

Modifier les paramètres globaux de l'utilisateur². S'utilise obligatoirement avec settings.

accesses

Permet de lister les applications ayant accès au compte d'un utilisateur²

accesses.edit

Permet de gérer les applications ayant accès au compte d'un utilisateur², s'utilise obligatoirement avec accesses.

¹ Votre application doit être vérifiée pour utiliser ce scope. ² Votre application doit obtenir une autorisation spéciale pour utiliser ce scope

Paramètres supplémentaires

En plus de l'implémentation standard du protocole OAuth 2.0, nous proposons des paramètres supplémentaires non standard, ainsi ils sont tous optionnels.

Paramètre

Valeur

Description

prompt

none|default

Vous permet de demander à ce que l'utilisateur n'ai pas à donner son consentement. Ne fonctionne pas si l'utilisateur n'a jamais autorisé votre application de manière explicite ou si votre application demande des champs sensibles. Il n'est pas garanti que l'utilisateur n'ai pas à donner son consentement.

Valeur par défaut: none

Support

La RFC 6749 [EN], propose plusieurs type de réponse contenant l'autorisation de l'utilisateur. Les méthodes de réponses (paramètre grant_type) supportés sont l'autorisation implicite (token) et l'autorisation par code (code).

Sécurité

Nous prenons la sécurité au serieux, ainsi voici une liste de conseils et de règles de sécurité que votre application doit suivre pour utiliser l'OAuth 2.0 d'edu-focus.

Restrictions d'uri de redirection

Pour eviter les problèmes du type redirection ouverte (c'est à dire quand un site permet une redirection arbitraire), le paramètre redirect_uri de la page d'autorisation doit faire partie d'une liste préautorisée.

Clients utilisant l'autorisation implicite

Lorsque vous utilisez l'autorisation vous obtenez directement un token, ce qui vous empèche de vérifier que celui-ci à bien été émis pour votre client et non pour un autre, cela peut causer des problèmes tel qu'afficher des informations que votre application n'est pas censé afficher ou des bugs dans votre application car les permissions ne correspondent pas. Afin d'eviter ce problème nous vous conseillons d'utiliser l'api Identity pour verifier que le token est bien déstiné à votre client et qu'il dispose bien des permissions adéquates.

Utilisation

Pour comprendre comment le protocole OAuth 2.0 fonctionne et comment l'utiliser, nous vous conseillons de lire la RFC 6749 [EN] détaillant le fonctionnement du dit protocole. Si toutefois, vous ne souhaitez pas la lire (ce qui est compréhensible car c'est un document peu digeste), nous vous recommandons la vidéo suivante:

Video de Grafikart.fr sur l'OAuth 2.0

Pour suivre ce tutoriel avec l'api d'edu-focus, utilisez simplement les url et scopes fournies plus haut.