Je bosse sur une appli Flutter Web et j’aimerais mettre en place une authentification avec Azure AD (Microsoft Entra). L’idée, c’est que les utilisateurs se connectent via leur compte Microsoft, et qu’ensuite je puisse utiliser ce login pour accéder à une API Directus.
Mais là, je m’y perds un peu :
Après le redirect de login Microsoft, je récupère un authorization code → ok, mais ensuite :
est-ce que je peux directement échanger ce code contre un access token depuis Flutter Web ?
ou bien il faut obligatoirement passer par un backend intermédiaire pour sécuriser l’échange ?
Une fois que j’ai l’access token Microsoft, comment je l’utilise avec Directus ?
Bref, j’ai du mal à voir comment les morceaux s’imbriquent entre Azure, Flutter Web et Directus.
Si quelqu’un a déjà fait ce genre d’intégration, un petit schéma ou un retour d’expérience serait top
salut JM,
A mon sens, la sécurité doit primer. Dans le flow OAuth2, l’échange authorization code vers l’access token est prévu côté serveur (client confidentiel), afin d’éviter d’exposer les secrets tokens dans le navigateur. Donc je pense qu’il vaut mieux passer par un backend intermédiaire pour cette étape, puis seulement terminer en gérant la communication avec Directus. C’est la partie intégration avec Directus qui pose problème ?
Ce que tu veux faire est déjà supporté en standard par Directus, il te faut configurer ton authentification Microsoft au niveau des authentificateurs supplémentaires de directus :
Ca consiste à informer directus que les comptes peuvent être créés et gérés via un authentificateur externe (dans ton cas microsoft) et directus va automatiquement créer des utilisateurs lors de la connexion et ils seront associés à leur compte microsoft. Ils auront aussi leur compte directus qui leur donnera les accès/roles/permissions aux api directus
Oui ça j’avais vu. Je peux me connecter en SSO via la console de directus sans soucis. Mon problème est que je ne vois pas comment implémenter cela dans directus_api_manager.
Je suis entièrement d’accord. C’est bien pour cela que j’essaye de passer par Directus pour faire l’authentification.