Embarquement en iframe
La console encadre ses applications sœurs (Mail, SMS, SEO, …) à l'intérieur d'iframes pour qu'elles apparaissent comme un seul produit. Deux choses rendent cela possible : une Content-Security-Policy à l'échelle de la plateforme qui autorise le framing, et le transfert SSO qui authentifie silencieusement l'utilisateur encadré.
La CSP globale
Une unique Content-Security-Policy est appliquée à l'échelle de la plateforme (pas par site). Elle définit :
| Directive | Valeur | Effet |
|---|---|---|
frame-src |
inclut https://*.inklura.fr et https://auth.1clic.pro |
La console peut encadrer ses sœurs (et l'IdP) |
frame-ancestors |
https://*.inklura.fr |
Chaque application peut être encadrée par un parent *.inklura.fr |
Ainsi frame-src régit ce que la console peut embarquer, et frame-ancestors
régit qui est autorisé à embarquer une application donnée — tous deux cloisonnés
à la famille *.inklura.fr plus l'IdP.
La CSP par site n'est pas honorée pour les sites auto-vhost. La politique
globale fait autorité — un en-tête Content-Security-Policy que vous
définissez sur votre propre application PRISM n'est pas ce qui régit le framing.
Tout sous-domaine *.inklura.fr est déjà couvert par la politique globale.
Mettre en place un nouveau sous-domaine inklura ne nécessite aucune
modification de CSP pour être encadrable par la console.
Embarquer une application sœur
Ne pointez pas l'iframe directement sur la page de l'application — pointez-le sur le transfert SSO de la console, afin que l'application encadrée s'authentifie silencieusement avant de s'afficher :
<iframe src="/api/manage/designer-sso?app=mail&next=/inbox&embed=1"></iframe>
La route designer-sso génère le token de transfert à courte durée, redirige en
302 dans la sœur sur le même domaine enregistrable, et la route d'atterrissage de
l'application génère sa session locale puis atterrit sur next. Voir
Single Sign-On pour le token, le TTL et les vérifications
d'audience.
Même site vs nouvel onglet
Toutes les sœurs ne sont pas embarquées. Quand la console lance une application :
- Les applications du même site (même domaine enregistrable) sont embarquées dans l'iframe — la CSP ci-dessus le permet.
- Les applications d'un site différent sont lancées dans un nouvel onglet plutôt qu'encadrées.
Voir aussi
- Single Sign-On — le token de transfert qui authentifie l'utilisateur encadré
- Provisionnement de sous-domaines — mettre en place une nouvelle application
*.inklura.fr