Introduction
L’approche traditionnelle pour utiliser OAuth2 ou OpenID Connect (OIDC) avec des applications Single Page (SPA) est l’OAuth2 Implicit Grant ou OIDC Implicit Flow, une approche toujours utilisée par beaucoup de développeurs. Plus récemment, toutefois, l’utilisation de l’OAuth2 Authorization Code Grant (ou OIDC Authorization Code Flow) avec un client public s’est accélérée. Les fournisseurs d’IdP (Identity Providers - fournisseurs d’identité) et les bloggeurs ont exprimé diverses opinions concernant l’utilisation du OIDC Authorization Code Flow avec un client public pour les SPA, mais cette approche, si elle est correctement sécurisée, est viable et apporte avec elle plusieurs avantages, dont :
L’utilisation de jetons d’actualisation. (C’est un gros avantage.)
Un meilleur contrôle de la durée d’expiration des sessions utilisateur via des mécanismes définis de manière spécifique.
Une cohérence sur divers cas d’usage (SPA, applis mobiles natives, applis de bureau natives, applications Web, etc.)
J’ai examiné ces avantages de façon plus détaillée dans mes précédents articles. Désormais, l’industrie s’oriente vers l’utilisation de l’OAuth2 Authorization Code Grant (ou OIDC Authorization Code Flow) avec un client public. Dans cet article, nous verrons comment garantir au mieux que cette approche soit utilisée de manière sécurisée avec les SPA.