{"id":2067,"date":"2026-03-11T10:19:38","date_gmt":"2026-03-11T09:19:38","guid":{"rendered":"https:\/\/askem.eu\/?p=2067"},"modified":"2026-03-11T10:19:41","modified_gmt":"2026-03-11T09:19:41","slug":"centraliser-lauthentification-avec-keycloak-sso-pour-une-infrastructure-open-source","status":"publish","type":"post","link":"https:\/\/askem.eu\/en\/2026\/03\/11\/centraliser-lauthentification-avec-keycloak-sso-pour-une-infrastructure-open-source\/","title":{"rendered":"Centraliser l&rsquo;authentification avec Keycloak : SSO pour une infrastructure open source"},"content":{"rendered":"<h1 class=\"wp-block-heading\">Centraliser l&rsquo;authentification avec Keycloak&nbsp;: SSO pour une infrastructure open source<\/h1>\n\n\n\n<p>Un fournisseur d&rsquo;identit\u00e9 unique pour CKAN, Nextcloud, Gitea, Superset et toutes les briques de votre SI.<\/p>\n\n\n\n<p>Quand une infrastructure open source grandit, chaque nouvelle brique apporte sa propre gestion des utilisateurs. CKAN a ses comptes locaux, Nextcloud les siens, Gitea encore d&rsquo;autres. Les utilisateurs se retrouvent avec cinq mots de passe diff\u00e9rents, les administrateurs doivent g\u00e9rer autant de bases de comptes, et la moindre arriv\u00e9e ou d\u00e9part de collaborateur se transforme en parcours du combattant.<\/p>\n\n\n\n<p><strong>Keycloak<\/strong> r\u00e9sout ce probl\u00e8me en centralisant l&rsquo;authentification et la gestion des identit\u00e9s dans un service unique. Chaque application se connecte \u00e0 Keycloak via un protocole standard (OpenID Connect ou SAML), et l&rsquo;utilisateur s&rsquo;authentifie une seule fois pour acc\u00e9der \u00e0 l&rsquo;ensemble du SI. C&rsquo;est le <em>Single Sign-On<\/em> (SSO) appliqu\u00e9 \u00e0 l&rsquo;infrastructure open source.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Pourquoi Keycloak plut\u00f4t qu&rsquo;un autre fournisseur d&rsquo;identit\u00e9&nbsp;?<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Crit\u00e8re<\/th><th>Keycloak<\/th><th>Alternatives (Authelia, Authentik, Dex)<\/th><\/tr><\/thead><tbody><tr><td><strong>Protocoles<\/strong><\/td><td>OIDC, SAML 2.0, LDAP federation<\/td><td>Souvent OIDC uniquement, SAML partiel<\/td><\/tr><tr><td><strong>Console d&rsquo;administration<\/strong><\/td><td>Interface web compl\u00e8te, gestion des realms, r\u00f4les, groupes, sessions<\/td><td>Variable, parfois minimaliste<\/td><\/tr><tr><td><strong>F\u00e9d\u00e9ration d&rsquo;identit\u00e9s<\/strong><\/td><td>LDAP, Active Directory, social login, identity brokering<\/td><td>Support plus limit\u00e9<\/td><\/tr><tr><td><strong>Maturit\u00e9<\/strong><\/td><td>Projet Red Hat, large communaut\u00e9, documentation abondante<\/td><td>Projets plus jeunes<\/td><\/tr><tr><td><strong>Personnalisation<\/strong><\/td><td>Th\u00e8mes, flux d&rsquo;authentification configurables, extensions SPI<\/td><td>Moins extensible<\/td><\/tr><tr><td><strong>Empreinte<\/strong><\/td><td>Plus lourd (~512 Mo RAM minimum)<\/td><td>Plus l\u00e9ger pour les petites installations<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Keycloak est le choix naturel quand l&rsquo;infrastructure comprend des applications h\u00e9t\u00e9rog\u00e8nes (certaines OIDC, d&rsquo;autres SAML), quand on a besoin de f\u00e9d\u00e9rer un annuaire LDAP existant, ou quand la console d&rsquo;administration doit \u00eatre accessible \u00e0 des non-d\u00e9veloppeurs. Pour une infrastructure avec deux ou trois services, Authelia ou Authentik peuvent suffire. Au-del\u00e0, Keycloak s&rsquo;impose.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Architecture type<\/h2>\n\n\n\n<p>Dans une architecture typique, Keycloak fonctionne comme le point central d&rsquo;authentification. Chaque application est enregistr\u00e9e comme un <strong>client OIDC<\/strong> dans un <em>realm<\/em> Keycloak. L&rsquo;utilisateur qui acc\u00e8de \u00e0 CKAN est redirig\u00e9 vers la page de connexion Keycloak, s&rsquo;authentifie, puis est renvoy\u00e9 vers CKAN avec un token JWT. S&rsquo;il ouvre ensuite Nextcloud dans un autre onglet, la session Keycloak est d\u00e9j\u00e0 active&nbsp;: pas de nouveau mot de passe \u00e0 saisir.<\/p>\n\n\n\n<p>Les composants impliqu\u00e9s&nbsp;:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Keycloak<\/strong>&nbsp;: fournisseur d&rsquo;identit\u00e9, g\u00e8re les utilisateurs, les sessions, les tokens<\/li>\n\n\n\n<li><strong>PostgreSQL<\/strong>&nbsp;: base de donn\u00e9es de Keycloak (utilisateurs, realms, sessions)<\/li>\n\n\n\n<li><strong>Nginx<\/strong>&nbsp;: reverse proxy, TLS termination, routage des sous-domaines (<code>auth.mondomaine.fr<\/code>)<\/li>\n\n\n\n<li><strong>Applications clientes<\/strong>&nbsp;: CKAN, Nextcloud, Gitea, Superset, Drupal \u2014 chacune configur\u00e9e en client OIDC<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">D\u00e9ploiement Docker Compose<\/h2>\n\n\n\n<p>Voici un <code>docker-compose.yml<\/code> minimal pour d\u00e9ployer Keycloak en production&nbsp;:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>version: \"3.9\"\nservices:\n  keycloak-db:\n    image: postgres:16-alpine\n    volumes:\n      - keycloak-db-data:\/var\/lib\/postgresql\/data\n    environment:\n      POSTGRES_DB: keycloak\n      POSTGRES_USER: keycloak\n      POSTGRES_PASSWORD: ${KC_DB_PASSWORD}\n\n  keycloak:\n    image: quay.io\/keycloak\/keycloak:24.0\n    command: start\n    depends_on:\n      - keycloak-db\n    environment:\n      KC_DB: postgres\n      KC_DB_URL: jdbc:postgresql:\/\/keycloak-db:5432\/keycloak\n      KC_DB_USERNAME: keycloak\n      KC_DB_PASSWORD: ${KC_DB_PASSWORD}\n      KC_HOSTNAME: auth.mondomaine.fr\n      KC_PROXY_HEADERS: xforwarded\n      KC_HTTP_ENABLED: \"true\"\n      KC_HEALTH_ENABLED: \"true\"\n    ports:\n      - \"8080:8080\"\n\nvolumes:\n  keycloak-db-data:<\/code><\/pre>\n\n\n\n<p>En production, Keycloak tourne derri\u00e8re Nginx qui g\u00e8re le TLS. Le param\u00e8tre <code>KC_PROXY_HEADERS: xforwarded<\/code> indique \u00e0 Keycloak de faire confiance aux en-t\u00eates proxy pour reconstruire les URLs de redirection correctes.<\/p>\n\n\n\n<p><strong>Version 24+ et Quarkus&nbsp;:<\/strong> Depuis la version 17, Keycloak a migr\u00e9 de WildFly vers Quarkus. Les images Docker r\u00e9centes utilisent cette nouvelle base. La commande de d\u00e9marrage est d\u00e9sormais <code>start<\/code> (production) ou <code>start-dev<\/code> (d\u00e9veloppement). Le mode <code>start-dev<\/code> active le HTTP sans TLS et la console d&rsquo;admin \u2014 ne l&rsquo;utilisez jamais en production.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Configurer un realm et des clients OIDC<\/h2>\n\n\n\n<p>Une fois Keycloak d\u00e9marr\u00e9, la configuration se fait depuis la console d&rsquo;administration (<code>https:\/\/auth.mondomaine.fr\/admin<\/code>)&nbsp;:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1. Cr\u00e9er un realm<\/h3>\n\n\n\n<p>Un realm isole un ensemble d&rsquo;utilisateurs et de clients. Cr\u00e9ez un realm d\u00e9di\u00e9 (par exemple <code>infrastructure<\/code>) plut\u00f4t que d&rsquo;utiliser le realm <code>master<\/code>, qui est r\u00e9serv\u00e9 \u00e0 l&rsquo;administration de Keycloak lui-m\u00eame.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2. Enregistrer les clients<\/h3>\n\n\n\n<p>Pour chaque application, cr\u00e9ez un client OIDC avec les param\u00e8tres suivants&nbsp;:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Application<\/th><th>Client ID<\/th><th>Redirect URI<\/th><th>Particularit\u00e9<\/th><\/tr><\/thead><tbody><tr><td>CKAN<\/td><td><code>ckan<\/code><\/td><td><code>https:\/\/data.mondomaine.fr\/user\/sso\/callback<\/code><\/td><td>Extension <code>ckanext-keycloak<\/code><\/td><\/tr><tr><td>Nextcloud<\/td><td><code>nextcloud<\/code><\/td><td><code>https:\/\/cloud.mondomaine.fr\/apps\/oidc\/callback<\/code><\/td><td>App  \u00ab&nbsp;OpenID Connect Login&nbsp;\u00bb<\/td><\/tr><tr><td>Gitea<\/td><td><code>gitea<\/code><\/td><td><code>https:\/\/git.mondomaine.fr\/user\/oauth2\/keycloak\/callback<\/code><\/td><td>Source d&rsquo;auth OIDC native<\/td><\/tr><tr><td>Superset<\/td><td><code>superset<\/code><\/td><td><code>https:\/\/bi.mondomaine.fr\/oauth-authorized\/keycloak<\/code><\/td><td>Provider Flask-OIDC<\/td><\/tr><tr><td>Drupal<\/td><td><code>drupal<\/code><\/td><td><code>https:\/\/www.mondomaine.fr\/openid-connect\/keycloak<\/code><\/td><td>Module <code>openid_connect<\/code><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">3. Mapper les r\u00f4les<\/h3>\n\n\n\n<p>Keycloak permet de d\u00e9finir des r\u00f4les au niveau du realm (<code>admin<\/code>, <code>editor<\/code>, <code>viewer<\/code>) et de les mapper vers des attributs du token JWT. Chaque application peut ensuite lire ces r\u00f4les pour d\u00e9terminer les permissions locales. Par exemple, un utilisateur avec le r\u00f4le <code>ckan-admin<\/code> dans Keycloak obtient automatiquement le r\u00f4le sysadmin dans CKAN, sans configuration c\u00f4t\u00e9 CKAN.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Int\u00e9gration CKAN avec ckanext-keycloak<\/h2>\n\n\n\n<p>CKAN s&rsquo;int\u00e8gre \u00e0 Keycloak via l&rsquo;extension <code>ckanext-keycloak<\/code> (ou plus g\u00e9n\u00e9riquement <code>ckanext-oauth2<\/code>). La configuration dans <code>ckan.ini<\/code>&nbsp;:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># ckan.ini\nckan.plugins = ... keycloak\n\nckanext.keycloak.server_url = https:\/\/auth.mondomaine.fr\nckanext.keycloak.client_id = ckan\nckanext.keycloak.client_secret = ${CKAN_KEYCLOAK_SECRET}\nckanext.keycloak.realm_name = infrastructure\nckanext.keycloak.redirect_url = https:\/\/data.mondomaine.fr\/user\/sso\/callback\nckanext.keycloak.sso_enabled = true\nckanext.keycloak.button_text = Se connecter via SSO<\/code><\/pre>\n\n\n\n<p>Apr\u00e8s red\u00e9marrage de CKAN, un bouton  \u00ab&nbsp;Se connecter via SSO&nbsp;\u00bb appara\u00eet sur la page de login. L&rsquo;extension cr\u00e9e automatiquement le compte CKAN au premier login si l&rsquo;utilisateur n&rsquo;existe pas encore, en r\u00e9cup\u00e9rant le nom, l&#8217;email et les r\u00f4les depuis le token Keycloak.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Int\u00e9gration Gitea<\/h2>\n\n\n\n<p>Gitea supporte nativement les sources d&rsquo;authentification OIDC. La configuration se fait depuis l&rsquo;interface d&rsquo;administration (<em>Administration du site &gt; Sources d&rsquo;authentification<\/em>) ou via le fichier <code>app.ini<\/code>&nbsp;:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Depuis l'interface admin de Gitea&nbsp;:\n# Nom&nbsp;: Keycloak\n# Type&nbsp;: OAuth2\n# Provider&nbsp;: OpenID Connect\n# Client ID&nbsp;: gitea\n# Client Secret&nbsp;: ********\n# OpenID Connect Auto Discovery URL&nbsp;:\n#   https:\/\/auth.mondomaine.fr\/realms\/infrastructure\/.well-known\/openid-configuration<\/code><\/pre>\n\n\n\n<p>Gitea utilise l&rsquo;endpoint de d\u00e9couverte (<code>.well-known\/openid-configuration<\/code>) pour configurer automatiquement les URLs d&rsquo;autorisation, de token et d&rsquo;info utilisateur. L&rsquo;utilisateur voit un bouton  \u00ab&nbsp;Se connecter avec Keycloak&nbsp;\u00bb sur la page de login Gitea.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Gestion du cycle de vie des utilisateurs<\/h2>\n\n\n\n<p>L&rsquo;un des avantages majeurs de Keycloak est la gestion centralis\u00e9e du cycle de vie&nbsp;:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Arriv\u00e9e<\/strong>&nbsp;: on cr\u00e9e le compte dans Keycloak, on assigne les r\u00f4les appropri\u00e9s. L&rsquo;utilisateur peut ensuite acc\u00e9der \u00e0 toutes les applications sans inscription suppl\u00e9mentaire.<\/li>\n\n\n\n<li><strong>Changement de r\u00f4le<\/strong>&nbsp;: on modifie les r\u00f4les dans Keycloak. Au prochain login, les permissions sont mises \u00e0 jour dans chaque application.<\/li>\n\n\n\n<li><strong>D\u00e9part<\/strong>&nbsp;: on d\u00e9sactive ou supprime le compte Keycloak. L&rsquo;acc\u00e8s est imm\u00e9diatement coup\u00e9 \u00e0 toutes les applications. Les sessions actives sont invalid\u00e9es via le <em>backchannel logout<\/em>.<\/li>\n<\/ul>\n\n\n\n<p>Pour les organisations qui disposent d\u00e9j\u00e0 d&rsquo;un annuaire LDAP ou Active Directory, Keycloak peut f\u00e9d\u00e9rer ces sources&nbsp;: les utilisateurs continuent de s&rsquo;authentifier avec leurs identifiants existants, mais b\u00e9n\u00e9ficient du SSO et de la gestion de r\u00f4les centralis\u00e9e.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">S\u00e9curisation et bonnes pratiques<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>MFA (authentification multifacteur)<\/strong>&nbsp;: Keycloak supporte nativement le TOTP (Google Authenticator, Authy) et le WebAuthn (cl\u00e9s FIDO2). Activez-le au minimum pour les comptes administrateurs.<\/li>\n\n\n\n<li><strong>Politique de mots de passe<\/strong>&nbsp;: configurez des r\u00e8gles de complexit\u00e9, d&rsquo;expiration et d&rsquo;historique dans les param\u00e8tres du realm.<\/li>\n\n\n\n<li><strong>Brute force protection<\/strong>&nbsp;: Keycloak int\u00e8gre un m\u00e9canisme de verrouillage temporaire apr\u00e8s plusieurs tentatives \u00e9chou\u00e9es. Activez-le et ajustez les seuils.<\/li>\n\n\n\n<li><strong>Sessions<\/strong>&nbsp;: d\u00e9finissez des dur\u00e9es de session raisonnables (30 minutes d&rsquo;inactivit\u00e9, 10 heures maximum) et activez le <em>backchannel logout<\/em> pour que la d\u00e9connexion d&rsquo;une application se propage aux autres.<\/li>\n\n\n\n<li><strong>Sauvegarde<\/strong>&nbsp;: la base PostgreSQL de Keycloak contient les utilisateurs, les realms et les sessions. Int\u00e9grez-la dans votre strat\u00e9gie de backup avec <code>pg_dump<\/code> quotidien.<\/li>\n<\/ul>\n\n\n\n<p><strong>Export\/Import de configuration&nbsp;:<\/strong> Keycloak permet d&rsquo;exporter la configuration d&rsquo;un realm en JSON (<code>kc.sh export --realm infrastructure --file realm-export.json<\/code>). Versionnez ce fichier dans Git pour tracer les changements de configuration et faciliter la restauration ou la r\u00e9plication de l&rsquo;environnement.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Supervision et monitoring<\/h2>\n\n\n\n<p>Keycloak expose des m\u00e9triques Prometheus via l&rsquo;option <code>KC_METRICS_ENABLED=true<\/code>. Les indicateurs essentiels \u00e0 surveiller sont le nombre de sessions actives, le taux d&rsquo;\u00e9checs d&rsquo;authentification, la latence des r\u00e9ponses token, et l&rsquo;utilisation m\u00e9moire de la JVM. Un dashboard Grafana d\u00e9di\u00e9 permet de d\u00e9tecter rapidement les anomalies \u2014 pic d&rsquo;\u00e9checs d&rsquo;authentification (attaque brute force&nbsp;?), explosion du nombre de sessions (fuite de tokens&nbsp;?), ou d\u00e9gradation des temps de r\u00e9ponse.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Points de vigilance<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Performance<\/strong>&nbsp;: Keycloak bas\u00e9 sur Quarkus est plus l\u00e9ger que l&rsquo;ancien WildFly, mais reste gourmand en m\u00e9moire. Pr\u00e9voyez au minimum 512 Mo de heap, id\u00e9alement 1 Go pour une centaine d&rsquo;utilisateurs actifs.<\/li>\n\n\n\n<li><strong>Mises \u00e0 jour<\/strong>&nbsp;: les mont\u00e9es de version majeures n\u00e9cessitent parfois des migrations de base. Testez syst\u00e9matiquement sur un environnement de staging avant la production.<\/li>\n\n\n\n<li><strong>Disponibilit\u00e9<\/strong>&nbsp;: si Keycloak tombe, plus personne ne peut se connecter. En production critique, envisagez un d\u00e9ploiement en cluster (Keycloak supporte nativement le mode HA avec Infinispan).<\/li>\n\n\n\n<li><strong>Tokens et cache<\/strong>&nbsp;: les applications qui cachent les tokens JWT c\u00f4t\u00e9 client doivent g\u00e9rer correctement le refresh token. Un token expir\u00e9 avec un refresh \u00e9chou\u00e9 doit d\u00e9clencher une re-authentification transparente.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">R\u00e9capitulatif<\/h2>\n\n\n\n<p>Keycloak transforme une collection d&rsquo;applications ind\u00e9pendantes en un SI unifi\u00e9 du point de vue de l&rsquo;identit\u00e9. Un seul compte, un seul mot de passe, une seule console d&rsquo;administration des acc\u00e8s. Pour les infrastructures qui combinent CKAN, Nextcloud, Gitea, Superset et Drupal, c&rsquo;est la brique qui rend le tout coh\u00e9rent et administrable. Le co\u00fbt d&rsquo;entr\u00e9e est un d\u00e9ploiement Docker et quelques heures de configuration par client \u2014 un investissement largement rentabilis\u00e9 d\u00e8s le deuxi\u00e8me utilisateur ajout\u00e9.<\/p>\n\n\n\n<p>KeycloakSSOOIDCauthentificationopen sourceCKANNextcloudGiteas\u00e9curit\u00e9Docker<\/p>","protected":false},"excerpt":{"rendered":"<p>Centraliser l&rsquo;authentification avec Keycloak&nbsp;: SSO pour une infrastructure open source Un fournisseur d&rsquo;identit\u00e9 unique pour CKAN, Nextcloud, Gitea, Superset et toutes les briques de votre SI. Quand une infrastructure open source grandit, chaque nouvelle brique apporte sa propre gestion des utilisateurs. CKAN a ses comptes locaux, Nextcloud les siens, Gitea encore d&rsquo;autres. Les utilisateurs se [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2068,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ocean_post_layout":"","ocean_both_sidebars_style":"","ocean_both_sidebars_content_width":0,"ocean_both_sidebars_sidebars_width":0,"ocean_sidebar":"","ocean_second_sidebar":"","ocean_disable_margins":"enable","ocean_add_body_class":"","ocean_shortcode_before_top_bar":"","ocean_shortcode_after_top_bar":"","ocean_shortcode_before_header":"","ocean_shortcode_after_header":"","ocean_has_shortcode":"","ocean_shortcode_after_title":"","ocean_shortcode_before_footer_widgets":"","ocean_shortcode_after_footer_widgets":"","ocean_shortcode_before_footer_bottom":"","ocean_shortcode_after_footer_bottom":"","ocean_display_top_bar":"default","ocean_display_header":"default","ocean_header_style":"","ocean_center_header_left_menu":"","ocean_custom_header_template":"","ocean_custom_logo":0,"ocean_custom_retina_logo":0,"ocean_custom_logo_max_width":0,"ocean_custom_logo_tablet_max_width":0,"ocean_custom_logo_mobile_max_width":0,"ocean_custom_logo_max_height":0,"ocean_custom_logo_tablet_max_height":0,"ocean_custom_logo_mobile_max_height":0,"ocean_header_custom_menu":"","ocean_menu_typo_font_family":"","ocean_menu_typo_font_subset":"","ocean_menu_typo_font_size":0,"ocean_menu_typo_font_size_tablet":0,"ocean_menu_typo_font_size_mobile":0,"ocean_menu_typo_font_size_unit":"px","ocean_menu_typo_font_weight":"","ocean_menu_typo_font_weight_tablet":"","ocean_menu_typo_font_weight_mobile":"","ocean_menu_typo_transform":"","ocean_menu_typo_transform_tablet":"","ocean_menu_typo_transform_mobile":"","ocean_menu_typo_line_height":0,"ocean_menu_typo_line_height_tablet":0,"ocean_menu_typo_line_height_mobile":0,"ocean_menu_typo_line_height_unit":"","ocean_menu_typo_spacing":0,"ocean_menu_typo_spacing_tablet":0,"ocean_menu_typo_spacing_mobile":0,"ocean_menu_typo_spacing_unit":"","ocean_menu_link_color":"","ocean_menu_link_color_hover":"","ocean_menu_link_color_active":"","ocean_menu_link_background":"","ocean_menu_link_hover_background":"","ocean_menu_link_active_background":"","ocean_menu_social_links_bg":"","ocean_menu_social_hover_links_bg":"","ocean_menu_social_links_color":"","ocean_menu_social_hover_links_color":"","ocean_disable_title":"default","ocean_disable_heading":"default","ocean_post_title":"","ocean_post_subheading":"","ocean_post_title_style":"","ocean_post_title_background_color":"","ocean_post_title_background":0,"ocean_post_title_bg_image_position":"","ocean_post_title_bg_image_attachment":"","ocean_post_title_bg_image_repeat":"","ocean_post_title_bg_image_size":"","ocean_post_title_height":0,"ocean_post_title_bg_overlay":0.5,"ocean_post_title_bg_overlay_color":"","ocean_disable_breadcrumbs":"default","ocean_breadcrumbs_color":"","ocean_breadcrumbs_separator_color":"","ocean_breadcrumbs_links_color":"","ocean_breadcrumbs_links_hover_color":"","ocean_display_footer_widgets":"default","ocean_display_footer_bottom":"default","ocean_custom_footer_template":"","osh_disable_topbar_sticky":"default","osh_disable_header_sticky":"default","osh_sticky_header_style":"default","osh_sticky_header_effect":"","osh_custom_sticky_logo":0,"osh_custom_retina_sticky_logo":0,"osh_custom_sticky_logo_height":0,"osh_background_color":"","osh_links_color":"","osh_links_hover_color":"","osh_links_active_color":"","osh_links_bg_color":"","osh_links_hover_bg_color":"","osh_links_active_bg_color":"","osh_menu_social_links_color":"","osh_menu_social_hover_links_color":"","ocean_post_oembed":"","ocean_post_self_hosted_media":"","ocean_post_video_embed":"","ocean_link_format":"","ocean_link_format_target":"self","ocean_quote_format":"","ocean_quote_format_link":"post","ocean_gallery_link_images":"on","ocean_gallery_id":[],"footnotes":""},"categories":[18],"tags":[],"class_list":["post-2067","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-devops","entry","has-media"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Centraliser l&#039;authentification avec Keycloak : SSO pour une infrastructure open source - askem<\/title>\n<meta name=\"description\" content=\"ASKEM BUREAU D&#039;\u00c9TUDES ET DE FORMATION NUM\u00c9RIQUE. Nous vous assistons dans la transformation num\u00e9rique de vos outils, services et organisations tout en pla\u00e7ant l\u2019humain au c\u0153ur de notre d\u00e9marche d\u2019accompagnement.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/askem.eu\/en\/2026\/03\/11\/centraliser-lauthentification-avec-keycloak-sso-pour-une-infrastructure-open-source\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Centraliser l&#039;authentification avec Keycloak : SSO pour une infrastructure open source - askem\" \/>\n<meta property=\"og:description\" content=\"ASKEM BUREAU D&#039;\u00c9TUDES ET DE FORMATION NUM\u00c9RIQUE. Nous vous assistons dans la transformation num\u00e9rique de vos outils, services et organisations tout en pla\u00e7ant l\u2019humain au c\u0153ur de notre d\u00e9marche d\u2019accompagnement.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/askem.eu\/en\/2026\/03\/11\/centraliser-lauthentification-avec-keycloak-sso-pour-une-infrastructure-open-source\/\" \/>\n<meta property=\"og:site_name\" content=\"askem\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/fb.me\/askem.eu\" \/>\n<meta property=\"article:published_time\" content=\"2026-03-11T09:19:38+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-03-11T09:19:41+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/mlpi0fxo3sth.i.optimole.com\/cb:3obA.c61\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/askem.eu\/wp-content\/uploads\/2026\/03\/sujet-askem-2026-03-11.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"800\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"askemadmin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"askemadmin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/askem.eu\\\/2026\\\/03\\\/11\\\/centraliser-lauthentification-avec-keycloak-sso-pour-une-infrastructure-open-source\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/askem.eu\\\/2026\\\/03\\\/11\\\/centraliser-lauthentification-avec-keycloak-sso-pour-une-infrastructure-open-source\\\/\"},\"author\":{\"name\":\"askemadmin\",\"@id\":\"https:\\\/\\\/askem.eu\\\/#\\\/schema\\\/person\\\/8bbee74ab9a977d56bf4826662e9d2e9\"},\"headline\":\"Centraliser l&rsquo;authentification avec Keycloak : SSO pour une infrastructure open source\",\"datePublished\":\"2026-03-11T09:19:38+00:00\",\"dateModified\":\"2026-03-11T09:19:41+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/askem.eu\\\/2026\\\/03\\\/11\\\/centraliser-lauthentification-avec-keycloak-sso-pour-une-infrastructure-open-source\\\/\"},\"wordCount\":1450,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/askem.eu\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/askem.eu\\\/2026\\\/03\\\/11\\\/centraliser-lauthentification-avec-keycloak-sso-pour-une-infrastructure-open-source\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\/\\/askem.eu\\/wp-content\\/uploads\\/2026\\/03\\/sujet-askem-2026-03-11.png\",\"articleSection\":[\"devops\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/askem.eu\\\/2026\\\/03\\\/11\\\/centraliser-lauthentification-avec-keycloak-sso-pour-une-infrastructure-open-source\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/askem.eu\\\/2026\\\/03\\\/11\\\/centraliser-lauthentification-avec-keycloak-sso-pour-une-infrastructure-open-source\\\/\",\"url\":\"https:\\\/\\\/askem.eu\\\/2026\\\/03\\\/11\\\/centraliser-lauthentification-avec-keycloak-sso-pour-une-infrastructure-open-source\\\/\",\"name\":\"Centraliser l'authentification avec Keycloak : SSO pour une infrastructure open source - askem\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/askem.eu\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/askem.eu\\\/2026\\\/03\\\/11\\\/centraliser-lauthentification-avec-keycloak-sso-pour-une-infrastructure-open-source\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/askem.eu\\\/2026\\\/03\\\/11\\\/centraliser-lauthentification-avec-keycloak-sso-pour-une-infrastructure-open-source\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\/\\/askem.eu\\/wp-content\\/uploads\\/2026\\/03\\/sujet-askem-2026-03-11.png\",\"datePublished\":\"2026-03-11T09:19:38+00:00\",\"dateModified\":\"2026-03-11T09:19:41+00:00\",\"description\":\"ASKEM BUREAU D'\u00c9TUDES ET DE FORMATION NUM\u00c9RIQUE. Nous vous assistons dans la transformation num\u00e9rique de vos outils, services et organisations tout en pla\u00e7ant l\u2019humain au c\u0153ur de notre d\u00e9marche d\u2019accompagnement.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/askem.eu\\\/2026\\\/03\\\/11\\\/centraliser-lauthentification-avec-keycloak-sso-pour-une-infrastructure-open-source\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/askem.eu\\\/2026\\\/03\\\/11\\\/centraliser-lauthentification-avec-keycloak-sso-pour-une-infrastructure-open-source\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/askem.eu\\\/2026\\\/03\\\/11\\\/centraliser-lauthentification-avec-keycloak-sso-pour-une-infrastructure-open-source\\\/#primaryimage\",\"url\":\"https:\\/\\/askem.eu\\/wp-content\\/uploads\\/2026\\/03\\/sujet-askem-2026-03-11.png\",\"contentUrl\":\"https:\\/\\/askem.eu\\/wp-content\\/uploads\\/2026\\/03\\/sujet-askem-2026-03-11.png\",\"width\":1200,\"height\":800},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/askem.eu\\\/2026\\\/03\\\/11\\\/centraliser-lauthentification-avec-keycloak-sso-pour-une-infrastructure-open-source\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/askem.eu\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Centraliser l&rsquo;authentification avec Keycloak : SSO pour une infrastructure open source\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/askem.eu\\\/#website\",\"url\":\"https:\\\/\\\/askem.eu\\\/\",\"name\":\"askem\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/askem.eu\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/askem.eu\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/askem.eu\\\/#organization\",\"name\":\"Askem\",\"url\":\"https:\\\/\\\/askem.eu\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/askem.eu\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\/\\/mlpi0fxo3sth.i.optimole.com\\/cb:3obA.c61\\/w:760\\/h:480\\/q:mauto\\/f:best\\/https:\\/\\/askem.eu\\/wp-content\\/uploads\\/2020\\/10\\/logoGalaxieAskem3.png\",\"contentUrl\":\"https:\\/\\/mlpi0fxo3sth.i.optimole.com\\/cb:3obA.c61\\/w:760\\/h:480\\/q:mauto\\/f:best\\/https:\\/\\/askem.eu\\/wp-content\\/uploads\\/2020\\/10\\/logoGalaxieAskem3.png\",\"width\":760,\"height\":480,\"caption\":\"Askem\"},\"image\":{\"@id\":\"https:\\\/\\\/askem.eu\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/fb.me\\\/askem.eu\",\"https:\\\/\\\/linkedin.com\\\/company\\\/askem-eu\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/askem.eu\\\/#\\\/schema\\\/person\\\/8bbee74ab9a977d56bf4826662e9d2e9\",\"name\":\"askemadmin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a202f744ee3a4b6fdbe2ceb57fd84c72559337791a276662270d8d2fb7842e3f?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a202f744ee3a4b6fdbe2ceb57fd84c72559337791a276662270d8d2fb7842e3f?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a202f744ee3a4b6fdbe2ceb57fd84c72559337791a276662270d8d2fb7842e3f?s=96&d=mm&r=g\",\"caption\":\"askemadmin\"},\"sameAs\":[\"https:\\\/\\\/askem.eu\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Centraliser l'authentification avec Keycloak : SSO pour une infrastructure open source - askem","description":"ASKEM BUREAU D'\u00c9TUDES ET DE FORMATION NUM\u00c9RIQUE. Nous vous assistons dans la transformation num\u00e9rique de vos outils, services et organisations tout en pla\u00e7ant l\u2019humain au c\u0153ur de notre d\u00e9marche d\u2019accompagnement.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/askem.eu\/en\/2026\/03\/11\/centraliser-lauthentification-avec-keycloak-sso-pour-une-infrastructure-open-source\/","og_locale":"en_US","og_type":"article","og_title":"Centraliser l'authentification avec Keycloak : SSO pour une infrastructure open source - askem","og_description":"ASKEM BUREAU D'\u00c9TUDES ET DE FORMATION NUM\u00c9RIQUE. Nous vous assistons dans la transformation num\u00e9rique de vos outils, services et organisations tout en pla\u00e7ant l\u2019humain au c\u0153ur de notre d\u00e9marche d\u2019accompagnement.","og_url":"https:\/\/askem.eu\/en\/2026\/03\/11\/centraliser-lauthentification-avec-keycloak-sso-pour-une-infrastructure-open-source\/","og_site_name":"askem","article_publisher":"https:\/\/fb.me\/askem.eu","article_published_time":"2026-03-11T09:19:38+00:00","article_modified_time":"2026-03-11T09:19:41+00:00","og_image":[{"width":1200,"height":800,"url":"https:\/\/mlpi0fxo3sth.i.optimole.com\/cb:3obA.c61\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/askem.eu\/wp-content\/uploads\/2026\/03\/sujet-askem-2026-03-11.png","type":"image\/png"}],"author":"askemadmin","twitter_card":"summary_large_image","twitter_misc":{"Written by":"askemadmin","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/askem.eu\/2026\/03\/11\/centraliser-lauthentification-avec-keycloak-sso-pour-une-infrastructure-open-source\/#article","isPartOf":{"@id":"https:\/\/askem.eu\/2026\/03\/11\/centraliser-lauthentification-avec-keycloak-sso-pour-une-infrastructure-open-source\/"},"author":{"name":"askemadmin","@id":"https:\/\/askem.eu\/#\/schema\/person\/8bbee74ab9a977d56bf4826662e9d2e9"},"headline":"Centraliser l&rsquo;authentification avec Keycloak : SSO pour une infrastructure open source","datePublished":"2026-03-11T09:19:38+00:00","dateModified":"2026-03-11T09:19:41+00:00","mainEntityOfPage":{"@id":"https:\/\/askem.eu\/2026\/03\/11\/centraliser-lauthentification-avec-keycloak-sso-pour-une-infrastructure-open-source\/"},"wordCount":1450,"commentCount":0,"publisher":{"@id":"https:\/\/askem.eu\/#organization"},"image":{"@id":"https:\/\/askem.eu\/2026\/03\/11\/centraliser-lauthentification-avec-keycloak-sso-pour-une-infrastructure-open-source\/#primaryimage"},"thumbnailUrl":"https:\/\/mlpi0fxo3sth.i.optimole.com\/cb:3obA.c61\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/askem.eu\/wp-content\/uploads\/2026\/03\/sujet-askem-2026-03-11.png","articleSection":["devops"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/askem.eu\/2026\/03\/11\/centraliser-lauthentification-avec-keycloak-sso-pour-une-infrastructure-open-source\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/askem.eu\/2026\/03\/11\/centraliser-lauthentification-avec-keycloak-sso-pour-une-infrastructure-open-source\/","url":"https:\/\/askem.eu\/2026\/03\/11\/centraliser-lauthentification-avec-keycloak-sso-pour-une-infrastructure-open-source\/","name":"Centraliser l'authentification avec Keycloak : SSO pour une infrastructure open source - askem","isPartOf":{"@id":"https:\/\/askem.eu\/#website"},"primaryImageOfPage":{"@id":"https:\/\/askem.eu\/2026\/03\/11\/centraliser-lauthentification-avec-keycloak-sso-pour-une-infrastructure-open-source\/#primaryimage"},"image":{"@id":"https:\/\/askem.eu\/2026\/03\/11\/centraliser-lauthentification-avec-keycloak-sso-pour-une-infrastructure-open-source\/#primaryimage"},"thumbnailUrl":"https:\/\/mlpi0fxo3sth.i.optimole.com\/cb:3obA.c61\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/askem.eu\/wp-content\/uploads\/2026\/03\/sujet-askem-2026-03-11.png","datePublished":"2026-03-11T09:19:38+00:00","dateModified":"2026-03-11T09:19:41+00:00","description":"ASKEM BUREAU D'\u00c9TUDES ET DE FORMATION NUM\u00c9RIQUE. Nous vous assistons dans la transformation num\u00e9rique de vos outils, services et organisations tout en pla\u00e7ant l\u2019humain au c\u0153ur de notre d\u00e9marche d\u2019accompagnement.","breadcrumb":{"@id":"https:\/\/askem.eu\/2026\/03\/11\/centraliser-lauthentification-avec-keycloak-sso-pour-une-infrastructure-open-source\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/askem.eu\/2026\/03\/11\/centraliser-lauthentification-avec-keycloak-sso-pour-une-infrastructure-open-source\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/askem.eu\/2026\/03\/11\/centraliser-lauthentification-avec-keycloak-sso-pour-une-infrastructure-open-source\/#primaryimage","url":"https:\/\/mlpi0fxo3sth.i.optimole.com\/cb:3obA.c61\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/askem.eu\/wp-content\/uploads\/2026\/03\/sujet-askem-2026-03-11.png","contentUrl":"https:\/\/mlpi0fxo3sth.i.optimole.com\/cb:3obA.c61\/w:auto\/h:auto\/q:mauto\/f:best\/https:\/\/askem.eu\/wp-content\/uploads\/2026\/03\/sujet-askem-2026-03-11.png","width":1200,"height":800},{"@type":"BreadcrumbList","@id":"https:\/\/askem.eu\/2026\/03\/11\/centraliser-lauthentification-avec-keycloak-sso-pour-une-infrastructure-open-source\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/askem.eu\/"},{"@type":"ListItem","position":2,"name":"Centraliser l&rsquo;authentification avec Keycloak : SSO pour une infrastructure open source"}]},{"@type":"WebSite","@id":"https:\/\/askem.eu\/#website","url":"https:\/\/askem.eu\/","name":"askem","description":"","publisher":{"@id":"https:\/\/askem.eu\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/askem.eu\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/askem.eu\/#organization","name":"Askem","url":"https:\/\/askem.eu\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/askem.eu\/#\/schema\/logo\/image\/","url":"https:\/\/mlpi0fxo3sth.i.optimole.com\/cb:3obA.c61\/w:760\/h:480\/q:mauto\/f:best\/https:\/\/askem.eu\/wp-content\/uploads\/2020\/10\/logoGalaxieAskem3.png","contentUrl":"https:\/\/mlpi0fxo3sth.i.optimole.com\/cb:3obA.c61\/w:760\/h:480\/q:mauto\/f:best\/https:\/\/askem.eu\/wp-content\/uploads\/2020\/10\/logoGalaxieAskem3.png","width":760,"height":480,"caption":"Askem"},"image":{"@id":"https:\/\/askem.eu\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/fb.me\/askem.eu","https:\/\/linkedin.com\/company\/askem-eu"]},{"@type":"Person","@id":"https:\/\/askem.eu\/#\/schema\/person\/8bbee74ab9a977d56bf4826662e9d2e9","name":"askemadmin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/a202f744ee3a4b6fdbe2ceb57fd84c72559337791a276662270d8d2fb7842e3f?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/a202f744ee3a4b6fdbe2ceb57fd84c72559337791a276662270d8d2fb7842e3f?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a202f744ee3a4b6fdbe2ceb57fd84c72559337791a276662270d8d2fb7842e3f?s=96&d=mm&r=g","caption":"askemadmin"},"sameAs":["https:\/\/askem.eu"]}]}},"_links":{"self":[{"href":"https:\/\/askem.eu\/en\/wp-json\/wp\/v2\/posts\/2067","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/askem.eu\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/askem.eu\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/askem.eu\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/askem.eu\/en\/wp-json\/wp\/v2\/comments?post=2067"}],"version-history":[{"count":1,"href":"https:\/\/askem.eu\/en\/wp-json\/wp\/v2\/posts\/2067\/revisions"}],"predecessor-version":[{"id":2069,"href":"https:\/\/askem.eu\/en\/wp-json\/wp\/v2\/posts\/2067\/revisions\/2069"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/askem.eu\/en\/wp-json\/wp\/v2\/media\/2068"}],"wp:attachment":[{"href":"https:\/\/askem.eu\/en\/wp-json\/wp\/v2\/media?parent=2067"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/askem.eu\/en\/wp-json\/wp\/v2\/categories?post=2067"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/askem.eu\/en\/wp-json\/wp\/v2\/tags?post=2067"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}