OpenID 1.0, OpenID 2.0, OpenID Connect.
OpenID Connect
- Source : https://openid.net/connect/
OpenID est une couche d’authentification au-dessus d’OAuth, qui est un standard de facto de protocole d’autorisation. OAuth a été normalisé via de nombreuses RFC (RFC 6749, RFC 9068, RFC 7519, etc.).
Principe de fonctionnement
Fonctionnement selon la CSA (Cloud Security Alliance)
Implémentations
Dire c’est bien, faire c’est mieux. Or, pour ne pas réinventer la roue, on peut facilement trouver des implémentations qui nous permettent de mettre en œuvre OAuth 2.0 dans différents langages. Par exemple pour Python on trouve :
Bibliothèques Python côté client
- Authomatic
- Python Social Auth
- Authlib
- Requests-OAuthlib qui supporte notamment les Python Requests.
Bibliothèques Python côté serveur
- Django OAuth Toolkit (DOT) pour Django, basé sur oauthlib
- Authlib pour OAuth2 et OpenID Connect, utilisable avec Flask
- Bottle-OAuthlib pour créer un founisseur OAuth2/OIDC (oauthlib)
- FastAPI framework web pour la création d’API incluant le support d’Auth2 et integré avec OpenAPI
- aioauth, bibliothèque (asynchrone) OAuth 2.0