{"id":83416,"date":"2022-08-31T09:41:17","date_gmt":"2022-08-31T07:41:17","guid":{"rendered":"https:\/\/rmarketingdigital.com\/dev\/recetas-de-galletas-samesite\/"},"modified":"2021-07-06T10:00:47","modified_gmt":"2021-07-06T08:00:47","slug":"recetas-de-galletas-samesite","status":"publish","type":"post","link":"https:\/\/rmarketingdigital.com\/de\/dev\/recetas-de-galletas-samesite\/","title":{"rendered":"SameSite-Cookie-Rezepte"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_86 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Contenidos<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/rmarketingdigital.com\/de\/dev\/recetas-de-galletas-samesite\/#Compatibilidad-con-muchos-navegadores\" >Compatibilidad con muchos navegadores<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/rmarketingdigital.com\/de\/dev\/recetas-de-galletas-samesite\/#Casos-de-uso-para-cookies-entre-sitios-o-de-terceros\" >Casos de uso para cookies entre sitios o de terceros<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/rmarketingdigital.com\/de\/dev\/recetas-de-galletas-samesite\/#Contenido-dentro-de-un\" >Contenido dentro de un &lt;iframe&gt;<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/rmarketingdigital.com\/de\/dev\/recetas-de-galletas-samesite\/#Solicitudes-%C2%ABinseguras%C2%BB-en-todos-los-sitios\" >Solicitudes \u00abinseguras\u00bb en todos los sitios<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/rmarketingdigital.com\/de\/dev\/recetas-de-galletas-samesite\/#Recursos-remotos\" >Recursos remotos<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/rmarketingdigital.com\/de\/dev\/recetas-de-galletas-samesite\/#Contenido-dentro-de-un-WebView\" >Contenido dentro de un WebView<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/rmarketingdigital.com\/de\/dev\/recetas-de-galletas-samesite\/#Como-poner-en-practica-SameSite-hoy\" >C\u00f3mo poner en pr\u00e1ctica SameSite hoy<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/rmarketingdigital.com\/de\/dev\/recetas-de-galletas-samesite\/#Manejo-de-clientes-incompatibles\" >Manejo de clientes incompatibles<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/rmarketingdigital.com\/de\/dev\/recetas-de-galletas-samesite\/#Apoyo-para-SameSiteNone-en-lenguajes-bibliotecas-y-marcos\" >Apoyo para SameSite=None en lenguajes, bibliotecas y marcos<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/rmarketingdigital.com\/de\/dev\/recetas-de-galletas-samesite\/#Obteniendo-ayuda\" >Obteniendo ayuda<\/a><\/li><\/ul><\/nav><\/div>\n<p><\/p>\n<div>\n<header class=\"w-article-header\">\n<p class=\"w-article-header__subhead w-mb--non\">\n<p>          Actualice las cookies de su sitio para prepararse para los pr\u00f3ximos cambios en el comportamiento del atributo SameSite.\n        <\/p>\n<p>\n          <time>30 de oct de 2019<\/time><br \/>\n            Actualizado <time>28 de mayo de 2020<\/time>\n        <\/p>\n<div class=\"w-layout-container--narrow w-post-signpost\">\n  <span class=\"w-post-signpost__title\">Aparece en:<\/span><br \/>\n  Seguro y a salvo\n<\/div>\n<\/header>\n<p><a rel=\"nofollow noopener noreferrer\" target=\"_blank\" href=\"https:\/\/www.chromium.org\/updates\/same-site\">Cromo<\/a>,<br \/>\n<a rel=\"nofollow noopener noreferrer\" target=\"_blank\" href=\"https:\/\/groups.google.com\/d\/msg\/mozilla.dev.platform\/nx2uP0CzA9k\/BNVPWDHsAQAJ\">Firefox<\/a>,<br \/>\n<a rel=\"nofollow noopener noreferrer\" target=\"_blank\" href=\"https:\/\/groups.google.com\/a\/chromium.org\/d\/msg\/blink-dev\/AknSSyQTGYs\/8lMmI5DwEAAJ\">Borde<\/a>, y otros cambiar\u00e1n su comportamiento predeterminado de acuerdo con la iniciativa de IETF,<br \/>\n<a rel=\"nofollow noopener noreferrer\" target=\"_blank\" href=\"https:\/\/tools.ietf.org\/html\/draft-west-cookie-incrementalism-00\">Cookies cada vez mejores<\/a><br \/>\npor lo tanto eso:<\/p>\n<ul>\n<li>Cookies sin <code>SameSite<\/code> El atributo se tratar\u00e1 como <code>SameSite=Lax<\/code>, lo que significa que el comportamiento predeterminado ser\u00e1 restringir las cookies a contextos propios <strong>solamente<\/strong>.<\/li>\n<li>Cookies para uso entre sitios <strong>debe<\/strong> especificar <code>SameSite=None; Secure<\/code> para permitir la inclusi\u00f3n en el contexto de terceros.<\/li>\n<\/ul>\n<p>Esta caracter\u00edstica es la <a rel=\"nofollow noopener noreferrer\" target=\"_blank\" href=\"https:\/\/blog.chromium.org\/2020\/05\/resuming-samesite-cookie-changes-in-july.html\">comportamiento predeterminado desde Chrome 84 estable en adelante<\/a>.  Si todav\u00eda no lo ha hecho, debe actualizar los atributos de sus cookies de terceros para que no se bloqueen en el futuro.<\/p>\n<h2 id=\"cross-browser-support\"><span class=\"ez-toc-section\" id=\"Compatibilidad-con-muchos-navegadores\"><\/span>Compatibilidad con muchos navegadores <span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Ver el<br \/>\n<a rel=\"nofollow noopener noreferrer\" target=\"_blank\" href=\"https:\/\/developer.mozilla.org\/docs\/Web\/HTTP\/Headers\/Set-Cookie#Browser_compatibility\">Compatibilidad del navegador<\/a><br \/>\nsecci\u00f3n de MDN <a rel=\"nofollow noopener noreferrer\" target=\"_blank\" href=\"https:\/\/developer.mozilla.org\/docs\/Web\/HTTP\/Headers\/Set-Cookie\"><code>Set-Cookie<\/code><\/a><\/p>\n<p>p\u00e1gina.<\/p>\n<h2 id=\"use-cases-for-cross-site-or-third-party-cookies\"><span class=\"ez-toc-section\" id=\"Casos-de-uso-para-cookies-entre-sitios-o-de-terceros\"><\/span>Casos de uso para cookies entre sitios o de terceros <span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Hay una serie de casos de uso y patrones comunes en los que las cookies deben enviarse en un contexto de terceros.  Si proporciona o depende de uno de estos casos de uso, aseg\u00farese de que usted o el proveedor est\u00e9n actualizando sus cookies para asegurar que el servicio contin\u00fae funcionando correctamente.<\/p>\n<h3 id=\"content-within-an-lessiframegreater\"><span class=\"ez-toc-section\" id=\"Contenido-dentro-de-un\"><\/span>Contenido dentro de un <code>&lt;iframe&gt;<\/code> <span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Contenido de un sitio distinto que se muestra en una <code>&lt;iframe&gt;<\/code> est\u00e1 en un contexto de terceros.  Los casos de uso est\u00e1ndar aqu\u00ed son:<\/p>\n<ul>\n<li>Contenido incrustado compartido desde otros sitios, como videos, mapas, ejemplos de c\u00f3digo y publicaciones sociales.<\/li>\n<li>Widgets de servicios externos como pagos, calendarios, reserva y funcionalidad de reserva.<\/li>\n<li>Widgets como botones sociales o servicios antifraude que crean menos obvios<br \/>\n<code>&lt;iframes&gt;<\/code>.<\/li>\n<\/ul>\n<p>Las cookies se pueden usar aqu\u00ed para, entre otras cosas, mantener el estado de la sesi\u00f3n, almacenar preferencias generales, habilitar estad\u00edsticas o personalizar contenido para usuarios con cuentas existentes.<\/p>\n<figure class=\"w-figure\">\n  <img alt='iframe-1779797' src='https:\/\/rmarketingdigital.com\/wp-content\/uploads\/2020\/09\/iframe-1779797.png' alt=\"Diagrama de una ventana del navegador donde la URL del contenido incrustado no coincide con la URL de la p\u00e1gina.\" style=\"max-width: 35vw;\"><figcaption class=\"w-figcaption\">\n<p>    Si el contenido incrustado no proviene del mismo sitio que el contexto de navegaci\u00f3n de nivel superior, es contenido de terceros.<br \/>\n  <\/figcaption><\/figure>\n<p>Al mismo tiempo, puesto que la web es intr\u00ednsecamente componible, <code>&lt;iframes&gt;<\/code> se usan para incrustar contenido que adem\u00e1s se visualiza en un contexto de nivel superior o propio.  Las cookies usadas por ese sitio se considerar\u00e1n cookies de terceros cuando el sitio se muestre dentro del marco.  Si est\u00e1 creando sitios que desea que otros incrusten f\u00e1cilmente y, a la vez, conf\u00ede en las cookies para que funcionen, adem\u00e1s deber\u00e1 asegurarse de que est\u00e9n marcados para el uso entre sitios o que pueda retroceder con elegancia sin ellos.<\/p>\n<h3 id='\"unsafe\"-requests-across-sites'><span class=\"ez-toc-section\" id=\"Solicitudes-%C2%ABinseguras%C2%BB-en-todos-los-sitios\"><\/span>Solicitudes \u00abinseguras\u00bb en todos los sitios <span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Aunque \u00abinseguro\u00bb puede parecer un poco preocupante aqu\u00ed, esto se refiere a cualquier solicitud que pueda tener la intenci\u00f3n de cambiar de estado.  En la web, son principalmente solicitudes POST.  Cookies marcadas como <code>SameSite=Lax<\/code> se enviar\u00e1 en navegaciones seguras de nivel superior, a modo de ejemplo, al hacer un clic en un link para ir a un sitio distinto.  No obstante, algo como un<br \/>\n<code>&lt;form&gt;<\/code> el env\u00edo a trav\u00e9s de POST a un sitio distinto no incluir\u00eda cookies.<\/p>\n<figure class=\"w-figure\">\n  <img alt='safe-navigation-5952143' src='https:\/\/rmarketingdigital.com\/wp-content\/uploads\/2020\/09\/safe-navigation-5952143.png' alt=\"Diagrama de una solicitud que se mueve de una p\u00e1gina a otra.\" style=\"max-width: 35vw;\"><figcaption class=\"w-figcaption\">\n<p>    Si la solicitud entrante usa un m\u00e9todo \u00abseguro\u00bb, se enviar\u00e1n las cookies.<br \/>\n  <\/figcaption><\/figure>\n<p>Este patr\u00f3n se usa para sitios que pueden redirigir al usuario a un servicio remoto para realizar alguna operaci\u00f3n antes de regresar, a modo de ejemplo, redirigir a un proveedor de identidad de terceros.  Antes de que el usuario abandone el sitio, se define una cookie que contiene un token de un solo uso con la expectativa de que este token se pueda verificar en la solicitud de retorno para mitigar<br \/>\n<a rel=\"nofollow noopener noreferrer\" target=\"_blank\" href=\"https:\/\/cheatsheetseries.owasp.org\/cheatsheets\/Cross-Site_Request_Forgery_Prevention_Cheat_Sheet.html\">Falsificaci\u00f3n de solicitud entre sitios (CSRF)<\/a><br \/>\nAtaques  Si esa solicitud de devoluci\u00f3n llega a trav\u00e9s de POST, ser\u00e1 necesario marcar las cookies como <code>SameSite=None; Secure<\/code>.<\/p>\n<h3 id=\"remote-resources\"><span class=\"ez-toc-section\" id=\"Recursos-remotos\"><\/span>Recursos remotos <span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Cualquier recurso remoto en una p\u00e1gina puede depender de las cookies que se enviar\u00e1n con una solicitud, desde <code>&lt;img&gt;<\/code> etiquetas, <code>&lt;script&gt;<\/code> etiquetas, etc.  Los casos de uso comunes incluyen el seguimiento de p\u00edxeles y la personalizaci\u00f3n de contenido.<\/p>\n<p>Esto adem\u00e1s se aplica a las solicitudes iniciadas desde su JavaScript por <code>fetch<\/code> o<br \/>\n<code>XMLHttpRequest<\/code>.  Si <code>fetch()<\/code> se llama con el<br \/>\n<a rel=\"nofollow noopener noreferrer\" target=\"_blank\" href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/Fetch_API\/Using_Fetch#Sending_a_request_with_credentials_included\"><code>credentials: 'include'<\/code>  opci\u00f3n<\/a><br \/>\nesto es un buen indicio de que se pueden esperar cookies en esas solicitudes.  por <code>XMLHttpRequest<\/code> debe buscar instancias de la<br \/>\n<a rel=\"nofollow noopener noreferrer\" target=\"_blank\" href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/XMLHttpRequest\/withCredentials\"><code>withCredentials<\/code>  propiedad<\/a><br \/>\nsiendo configurado en <code>true<\/code>.  Esta es una buena indicaci\u00f3n de que se pueden esperar cookies en esas solicitudes.  Esas cookies deber\u00e1n estar debidamente marcadas para que se incluyan en las solicitudes entre sitios.<\/p>\n<h3 id=\"content-within-a-webview\"><span class=\"ez-toc-section\" id=\"Contenido-dentro-de-un-WebView\"><\/span>Contenido dentro de un WebView <span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Un WebView en una aplicaci\u00f3n nativa funciona con un navegador y deber\u00e1 probar si se aplican las mismas restricciones o problemas.  En Android, si WebView funciona con Chrome, los nuevos valores predeterminados <strong>no lo har\u00e9<\/strong> ser aplicados inmediatamente con Chrome 84. No obstante, la intenci\u00f3n es aplicarlos en el futuro, por lo que todav\u00eda debe probar y prepararse para ello.  Al mismo tiempo, Android posibilita que las aplicaciones nativas establezcan cookies de forma directa a trav\u00e9s del<br \/>\n<a rel=\"nofollow noopener noreferrer\" target=\"_blank\" href=\"https:\/\/developer.android.com\/reference\/android\/webkit\/CookieManager\">API de CookieManager<\/a>.  Del mismo modo que con las cookies configuradas a trav\u00e9s de encabezados o JavaScript, considere incluir<br \/>\n<code>SameSite=None; Secure<\/code> si est\u00e1n destinados a un uso entre sitios.<\/p>\n<h2 id=\"how-to-implement-samesite-today\"><span class=\"ez-toc-section\" id=\"Como-poner-en-practica-SameSite-hoy\"><\/span>C\u00f3mo poner en pr\u00e1ctica <code>SameSite<\/code> hoy <span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Para las cookies en las que solo se necesitan en un contexto propio, lo ideal es marcarlas como <code>SameSite=Lax<\/code> o <code>SameSite=Strict<\/code> dependiendo de sus necesidades.  Adem\u00e1s puede elegir por no hacer nada y permitir que el navegador aplique su valor predeterminado, pero esto implica el riesgo de un comportamiento incoherente entre los navegadores y posibles advertencias de la consola para cada cookie.<\/p>\n<p><web-copy-code><\/p>\n<pre class=\"language-text\"><code class=\"language-text\">Set-Cookie: first_party_var=value; SameSite=Lax<\/code><\/pre>\n<p><\/web-copy-code><\/p>\n<p>Para las cookies imprescindibles en un contexto de terceros, deber\u00e1 asegurarse de que est\u00e9n marcadas como <code>SameSite=None; Secure<\/code>.  Tenga en cuenta que requiere ambos atributos juntos.  Si solo especificas <code>None<\/code> sin <code>Secure<\/code> la cookie ser\u00e1 rechazada.  No obstante, existen algunas diferencias mutuamente incompatibles en las implementaciones del navegador, por lo que es viable que deba usar algunas de las estrategias de mitigaci\u00f3n descritas en Manejo de clientes incompatibles a continuaci\u00f3n.<\/p>\n<p><web-copy-code><\/p>\n<pre class=\"language-text\"><code class=\"language-text\">Set-Cookie: third_party_var=value; SameSite=None; Secure<\/code><\/pre>\n<p><\/web-copy-code><\/p>\n<h3 id=\"handling-incompatible-clients\"><span class=\"ez-toc-section\" id=\"Manejo-de-clientes-incompatibles\"><\/span>Manejo de clientes incompatibles <span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Como estos cambios para incluir <code>None<\/code> y el comportamiento predeterminado de la actualizaci\u00f3n es relativamente nuevo, existen inconsistencias entre los navegadores con respecto a c\u00f3mo se manejan estos cambios.  Puede consultar el<br \/>\n<a rel=\"nofollow noopener noreferrer\" target=\"_blank\" href=\"https:\/\/www.chromium.org\/updates\/same-site\/incompatible-clients\">p\u00e1gina de actualizaciones en chromium.org<\/a><br \/>\npara los problemas conocidos en este momento, no obstante, no es viable decir si es exhaustivo.  Aunque esto no es ideal, existen soluciones alternativas que puede emplear durante esta etapa de transici\u00f3n.  No obstante, la norma general es tratar a los clientes incompatibles como un caso especial.  No cree una excepci\u00f3n para los navegadores que implementan las reglas m\u00e1s nuevas.<\/p>\n<p>La primera opci\u00f3n es configurar las cookies de estilo nuevo y antiguo:<\/p>\n<p><web-copy-code><\/p>\n<pre class=\"language-text\"><code class=\"language-text\">Set-cookie: 3pcookie=value; SameSite=None; Secure<br>Set-cookie: 3pcookie-legacy=value; Secure<\/code><\/pre>\n<p><\/web-copy-code><\/p>\n<p>Los navegadores que implementen el comportamiento m\u00e1s nuevo establecer\u00e1n la cookie con el <code>SameSite<\/code><br \/>\nvalor, mientras que otros navegadores pueden ignorarlo o configurarlo incorrectamente.  No obstante, esos mismos navegadores establecer\u00e1n el <code>3pcookie-legacy<\/code> Galleta.  Al procesar las cookies incluidas, el sitio debe verificar primero la presencia de la nueva cookie de estilo y, si no se encuentra, despu\u00e9s recurrir a la cookie heredada.<\/p>\n<p>El siguiente ejemplo muestra c\u00f3mo hacer esto en Node.js, haciendo uso de la<br \/>\n<a rel=\"nofollow noopener noreferrer\" target=\"_blank\" href=\"https:\/\/expressjs.com\">Marco expreso<\/a> y es<br \/>\n<a rel=\"nofollow noopener noreferrer\" target=\"_blank\" href=\"https:\/\/www.npmjs.com\/package\/cookie-parser\">analizador de cookies<\/a> middleware.<\/p>\n<p><web-copy-code><\/p>\n<pre class=\"language-javascript\"><code class=\"language-javascript\"><span class=\"token keyword\">const<\/span> express <span class=\"token operator\">=<\/span> <span class=\"token function\">require<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">'express'<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br><span class=\"token keyword\">const<\/span> cp <span class=\"token operator\">=<\/span> <span class=\"token function\">require<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">'cookie-parser'<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br><span class=\"token keyword\">const<\/span> app <span class=\"token operator\">=<\/span> <span class=\"token function\">express<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br>app<span class=\"token punctuation\">.<\/span><span class=\"token function\">use<\/span><span class=\"token punctuation\">(<\/span><span class=\"token function\">cp<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><p>app<span class=\"token punctuation\">.<\/span><span class=\"token function\">get<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">'\/set'<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token parameter\">req<span class=\"token punctuation\">,<\/span> res<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">=&gt;<\/span> <span class=\"token punctuation\">{<\/span><br>res<span class=\"token punctuation\">.<\/span><span class=\"token function\">cookie<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">'3pcookie'<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">'value'<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token punctuation\">{<\/span> sameSite<span class=\"token operator\">:<\/span> <span class=\"token string\">'none'<\/span><span class=\"token punctuation\">,<\/span> secure<span class=\"token operator\">:<\/span> <span class=\"token boolean\">true<\/span> <span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br>res<span class=\"token punctuation\">.<\/span><span class=\"token function\">cookie<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">'3pcookie-legacy'<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token string\">'value'<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token punctuation\">{<\/span> secure<span class=\"token operator\">:<\/span> <span class=\"token boolean\">true<\/span> <span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br>res<span class=\"token punctuation\">.<\/span><span class=\"token function\">end<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br><span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><\/p><p>app<span class=\"token punctuation\">.<\/span><span class=\"token function\">get<\/span><span class=\"token punctuation\">(<\/span><span class=\"token string\">'\/'<\/span><span class=\"token punctuation\">,<\/span> <span class=\"token punctuation\">(<\/span><span class=\"token parameter\">req<span class=\"token punctuation\">,<\/span> res<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token operator\">=&gt;<\/span> <span class=\"token punctuation\">{<\/span><br><span class=\"token keyword\">let<\/span> cookieVal <span class=\"token operator\">=<\/span> <span class=\"token keyword\">null<\/span><span class=\"token punctuation\">;<\/span><\/p><p><span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span>req<span class=\"token punctuation\">.<\/span>cookies<span class=\"token punctuation\">[<\/span><span class=\"token string\">'3pcookie'<\/span><span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br>cookieVal <span class=\"token operator\">=<\/span> req<span class=\"token punctuation\">.<\/span>cookies<span class=\"token punctuation\">[<\/span><span class=\"token string\">'3pcookie'<\/span><span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">;<\/span><br><span class=\"token punctuation\">}<\/span> <span class=\"token keyword\">else<\/span> <span class=\"token keyword\">if<\/span> <span class=\"token punctuation\">(<\/span>req<span class=\"token punctuation\">.<\/span>cookies<span class=\"token punctuation\">[<\/span><span class=\"token string\">'3pcookie-legacy'<\/span><span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">)<\/span> <span class=\"token punctuation\">{<\/span><br>cookieVal <span class=\"token operator\">=<\/span> req<span class=\"token punctuation\">.<\/span>cookies<span class=\"token punctuation\">[<\/span><span class=\"token string\">'3pcookie-legacy'<\/span><span class=\"token punctuation\">]<\/span><span class=\"token punctuation\">;<\/span><br><span class=\"token punctuation\">}<\/span><\/p><p>res<span class=\"token punctuation\">.<\/span><span class=\"token function\">end<\/span><span class=\"token punctuation\">(<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><br><span class=\"token punctuation\">}<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><\/p><p>app<span class=\"token punctuation\">.<\/span><span class=\"token function\">listen<\/span><span class=\"token punctuation\">(<\/span>process<span class=\"token punctuation\">.<\/span>env<span class=\"token punctuation\">.<\/span><span class=\"token constant\">PORT<\/span><span class=\"token punctuation\">)<\/span><span class=\"token punctuation\">;<\/span><\/p><\/code><\/pre>\n<p><\/web-copy-code><\/p>\n<p>La desventaja es que esto conlleva configurar cookies redundantes para cubrir todos los navegadores y necesita realizar cambios tanto en el punto de configuraci\u00f3n como en la lectura de la cookie.  No obstante, este enfoque deber\u00eda cubrir todos los navegadores independientemente de su comportamiento y asegurar que las cookies de terceros sigan funcionando como antes.<\/p>\n<p>Alternativamente en el momento de enviar el <code>Set-Cookie<\/code> encabezado, puede optar detectar el cliente a trav\u00e9s de la cadena de agente de usuario.  Referirse a<br \/>\n<a rel=\"nofollow noopener noreferrer\" target=\"_blank\" href=\"https:\/\/www.chromium.org\/updates\/same-site\/incompatible-clients\">lista de clientes incompatibles<\/a><br \/>\ny despu\u00e9s hacer uso de una biblioteca apropiada para su plataforma, a modo de ejemplo<br \/>\n<a rel=\"nofollow noopener noreferrer\" target=\"_blank\" href=\"https:\/\/www.npmjs.com\/package\/ua-parser-js\">ua-parser-js<\/a> biblioteca en Node.js.  Es aconsejable hallar una biblioteca para manejar la detecci\u00f3n de agentes de usuario, puesto que probablemente no desee escribir esas expresiones regulares usted mismo.<\/p>\n<p>El beneficio de este enfoque es que solo necesita realizar un cambio en el momento de configurar la cookie.  No obstante, la advertencia necesaria aqu\u00ed es que el rastreo de agentes de usuario es intr\u00ednsecamente fr\u00e1gil y puede que no atrape a todos los usuarios afectados.<\/p>\n<div class=\"w-aside w-aside--note\">\n<p>Independientemente de la opci\u00f3n que elija, es recomendable asegurarse de tener una forma de registrar los niveles de tr\u00e1fico que pasan por la ruta heredada.  Aseg\u00farese de tener un recordatorio o alerta para borrar esta soluci\u00f3n una vez que esos niveles caigan por debajo de un umbral aceptable para su sitio.<\/p>\n<\/div>\n<h2 id=\"support-for-samesitenone-in-languages-libraries-and-frameworks\"><span class=\"ez-toc-section\" id=\"Apoyo-para-SameSiteNone-en-lenguajes-bibliotecas-y-marcos\"><\/span>Apoyo para <code>SameSite=None<\/code> en lenguajes, bibliotecas y marcos <span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>La mayor\u00eda de idiomas y bibliotecas admiten la <code>SameSite<\/code> atributo para cookies, no obstante, la adici\u00f3n de <code>SameSite=None<\/code> es relativamente nuevo, lo que significa que es viable que deba arreglar algunos de los comportamientos est\u00e1ndar por ahora.  Estos est\u00e1n documentados en el<br \/>\n<a rel=\"nofollow noopener noreferrer\" target=\"_blank\" href=\"https:\/\/github.com\/GoogleChromeLabs\/samesite-examples\"><code>SameSite<\/code>  ejemplos de repositorio en GitHub<\/a>.<\/p>\n<h2 id=\"getting-help\"><span class=\"ez-toc-section\" id=\"Obteniendo-ayuda\"><\/span>Obteniendo ayuda <span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Las cookies est\u00e1n por todas partes y es raro que un sitio haya auditado por completo d\u00f3nde se configuran y utilizan, fundamentalmente una vez que agregas casos de uso entre sitios.  Cuando se encuentra con un obst\u00e1culo, puede ser la primera vez que alguien lo encuentra, por lo tanto no dude en comunicarse:<\/p>\n<p><em>Imagen de Cookie Hero por<br \/>\nCayla1<br \/>\nen<br \/>\n<a rel=\"nofollow noopener noreferrer\" target=\"_blank\" href=\"https:\/\/unsplash.com\/?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText\">Unsplash<\/a><\/em><\/p>\n<p>    <web-feedback additional-questions=\"api\"><\/web-feedback>\n  <\/div>\n","protected":false},"excerpt":{"rendered":"<p>Actualice las cookies de su sitio para prepararse para los pr\u00f3ximos cambios en el comportamiento del atributo SameSite. 30 de oct de 2019 Actualizado 28 de mayo de 2020 Aparece&#8230;<\/p>","protected":false},"author":1,"featured_media":83417,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1356],"tags":[],"class_list":["post-83416","post","type-post","status-publish","format-standard","has-post-thumbnail","category-dev"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.0 (Yoast SEO v28.2) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Recetas de galletas SameSite - R Marketing Digital<\/title>\n<meta name=\"description\" content=\"Actualice las cookies de su sitio para prepararse para los pr\u00f3ximos cambios en el comportamiento del atributo SameSite. 30 de oct de 2019 Actualizado 28\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/rmarketingdigital.com\/de\/dev\/recetas-de-galletas-samesite\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Recetas de galletas SameSite\" \/>\n<meta property=\"og:description\" content=\"Actualice las cookies de su sitio para prepararse para los pr\u00f3ximos cambios en el comportamiento del atributo SameSite. 30 de oct de 2019 Actualizado 28\" \/>\n<meta property=\"og:url\" content=\"https:\/\/rmarketingdigital.com\/de\/dev\/recetas-de-galletas-samesite\/\" \/>\n<meta property=\"og:site_name\" content=\"R Marketing Digital\" \/>\n<meta property=\"article:published_time\" content=\"2022-08-31T07:41:17+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/rmarketingdigital.com\/wp-content\/uploads\/2020\/09\/cookie-hero-9394383.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"600\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"R Marketing Digital\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/rmarketingdigital.com\\\/dev\\\/recetas-de-galletas-samesite\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/rmarketingdigital.com\\\/dev\\\/recetas-de-galletas-samesite\\\/\"},\"author\":{\"name\":\"R Marketing Digital\",\"@id\":\"https:\\\/\\\/rmarketingdigital.com\\\/#\\\/schema\\\/person\\\/7c0d9782b2977b840b3740f00c69a73e\"},\"headline\":\"Recetas de galletas SameSite\",\"datePublished\":\"2022-08-31T07:41:17+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/rmarketingdigital.com\\\/dev\\\/recetas-de-galletas-samesite\\\/\"},\"wordCount\":1562,\"image\":{\"@id\":\"https:\\\/\\\/rmarketingdigital.com\\\/dev\\\/recetas-de-galletas-samesite\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/rmarketingdigital.com\\\/wp-content\\\/uploads\\\/2020\\\/09\\\/cookie-hero-9394383.jpg\",\"articleSection\":[\"Dev\"],\"inLanguage\":\"de\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/rmarketingdigital.com\\\/dev\\\/recetas-de-galletas-samesite\\\/\",\"url\":\"https:\\\/\\\/rmarketingdigital.com\\\/dev\\\/recetas-de-galletas-samesite\\\/\",\"name\":\"Recetas de galletas SameSite - R Marketing Digital\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/rmarketingdigital.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/rmarketingdigital.com\\\/dev\\\/recetas-de-galletas-samesite\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/rmarketingdigital.com\\\/dev\\\/recetas-de-galletas-samesite\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/rmarketingdigital.com\\\/wp-content\\\/uploads\\\/2020\\\/09\\\/cookie-hero-9394383.jpg\",\"datePublished\":\"2022-08-31T07:41:17+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/rmarketingdigital.com\\\/#\\\/schema\\\/person\\\/7c0d9782b2977b840b3740f00c69a73e\"},\"description\":\"Actualice las cookies de su sitio para prepararse para los pr\u00f3ximos cambios en el comportamiento del atributo SameSite. 30 de oct de 2019 Actualizado 28\",\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/rmarketingdigital.com\\\/dev\\\/recetas-de-galletas-samesite\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/rmarketingdigital.com\\\/dev\\\/recetas-de-galletas-samesite\\\/#primaryimage\",\"url\":\"https:\\\/\\\/rmarketingdigital.com\\\/wp-content\\\/uploads\\\/2020\\\/09\\\/cookie-hero-9394383.jpg\",\"contentUrl\":\"https:\\\/\\\/rmarketingdigital.com\\\/wp-content\\\/uploads\\\/2020\\\/09\\\/cookie-hero-9394383.jpg\",\"width\":1200,\"height\":600,\"caption\":\"cookie-hero-9394383-4609252-jpg\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/rmarketingdigital.com\\\/#website\",\"url\":\"https:\\\/\\\/rmarketingdigital.com\\\/\",\"name\":\"R Marketing Digital\",\"description\":\"Agencia SEO | Publicidad redes sociales | Community Management\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/rmarketingdigital.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/rmarketingdigital.com\\\/#\\\/schema\\\/person\\\/7c0d9782b2977b840b3740f00c69a73e\",\"name\":\"R Marketing Digital\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c5599c203e0120b8ccbff4666af86f35f9b3dcad468a8bc6295313a3964a80be?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c5599c203e0120b8ccbff4666af86f35f9b3dcad468a8bc6295313a3964a80be?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/c5599c203e0120b8ccbff4666af86f35f9b3dcad468a8bc6295313a3964a80be?s=96&d=mm&r=g\",\"caption\":\"R Marketing Digital\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Recetas de galletas SameSite - R Marketing Digital","description":"Bitte aktualisieren Sie Ihre Site-Cookies, um sich auf bevorstehende \u00c4nderungen im Verhalten der SameSite-Attribute vorzubereiten. 30. Oktober 2019 Aktualisiert 28","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:\/\/rmarketingdigital.com\/de\/dev\/recetas-de-galletas-samesite\/","og_locale":"de_DE","og_type":"article","og_title":"Recetas de galletas SameSite","og_description":"Actualice las cookies de su sitio para prepararse para los pr\u00f3ximos cambios en el comportamiento del atributo SameSite. 30 de oct de 2019 Actualizado 28","og_url":"https:\/\/rmarketingdigital.com\/de\/dev\/recetas-de-galletas-samesite\/","og_site_name":"R Marketing Digital","article_published_time":"2022-08-31T07:41:17+00:00","og_image":[{"width":1200,"height":600,"url":"https:\/\/rmarketingdigital.com\/wp-content\/uploads\/2020\/09\/cookie-hero-9394383.jpg","type":"image\/jpeg"}],"author":"R Marketing Digital","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/rmarketingdigital.com\/dev\/recetas-de-galletas-samesite\/#article","isPartOf":{"@id":"https:\/\/rmarketingdigital.com\/dev\/recetas-de-galletas-samesite\/"},"author":{"name":"R Marketing Digital","@id":"https:\/\/rmarketingdigital.com\/#\/schema\/person\/7c0d9782b2977b840b3740f00c69a73e"},"headline":"Recetas de galletas SameSite","datePublished":"2022-08-31T07:41:17+00:00","mainEntityOfPage":{"@id":"https:\/\/rmarketingdigital.com\/dev\/recetas-de-galletas-samesite\/"},"wordCount":1562,"image":{"@id":"https:\/\/rmarketingdigital.com\/dev\/recetas-de-galletas-samesite\/#primaryimage"},"thumbnailUrl":"https:\/\/rmarketingdigital.com\/wp-content\/uploads\/2020\/09\/cookie-hero-9394383.jpg","articleSection":["Dev"],"inLanguage":"de"},{"@type":"WebPage","@id":"https:\/\/rmarketingdigital.com\/dev\/recetas-de-galletas-samesite\/","url":"https:\/\/rmarketingdigital.com\/dev\/recetas-de-galletas-samesite\/","name":"Recetas de galletas SameSite - R Marketing Digital","isPartOf":{"@id":"https:\/\/rmarketingdigital.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/rmarketingdigital.com\/dev\/recetas-de-galletas-samesite\/#primaryimage"},"image":{"@id":"https:\/\/rmarketingdigital.com\/dev\/recetas-de-galletas-samesite\/#primaryimage"},"thumbnailUrl":"https:\/\/rmarketingdigital.com\/wp-content\/uploads\/2020\/09\/cookie-hero-9394383.jpg","datePublished":"2022-08-31T07:41:17+00:00","author":{"@id":"https:\/\/rmarketingdigital.com\/#\/schema\/person\/7c0d9782b2977b840b3740f00c69a73e"},"description":"Bitte aktualisieren Sie Ihre Site-Cookies, um sich auf bevorstehende \u00c4nderungen im Verhalten der SameSite-Attribute vorzubereiten. 30. Oktober 2019 Aktualisiert 28","inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/rmarketingdigital.com\/dev\/recetas-de-galletas-samesite\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/rmarketingdigital.com\/dev\/recetas-de-galletas-samesite\/#primaryimage","url":"https:\/\/rmarketingdigital.com\/wp-content\/uploads\/2020\/09\/cookie-hero-9394383.jpg","contentUrl":"https:\/\/rmarketingdigital.com\/wp-content\/uploads\/2020\/09\/cookie-hero-9394383.jpg","width":1200,"height":600,"caption":"cookie-hero-9394383-4609252-jpg"},{"@type":"WebSite","@id":"https:\/\/rmarketingdigital.com\/#website","url":"https:\/\/rmarketingdigital.com\/","name":"R Digitales Marketing","description":"SEO Agentur | Werbung f\u00fcr soziale Netzwerke | Community Management","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/rmarketingdigital.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Person","@id":"https:\/\/rmarketingdigital.com\/#\/schema\/person\/7c0d9782b2977b840b3740f00c69a73e","name":"R Digitales Marketing","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/secure.gravatar.com\/avatar\/c5599c203e0120b8ccbff4666af86f35f9b3dcad468a8bc6295313a3964a80be?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/c5599c203e0120b8ccbff4666af86f35f9b3dcad468a8bc6295313a3964a80be?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c5599c203e0120b8ccbff4666af86f35f9b3dcad468a8bc6295313a3964a80be?s=96&d=mm&r=g","caption":"R Marketing Digital"}}]}},"_links":{"self":[{"href":"https:\/\/rmarketingdigital.com\/de\/wp-json\/wp\/v2\/posts\/83416","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rmarketingdigital.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/rmarketingdigital.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/rmarketingdigital.com\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/rmarketingdigital.com\/de\/wp-json\/wp\/v2\/comments?post=83416"}],"version-history":[{"count":0,"href":"https:\/\/rmarketingdigital.com\/de\/wp-json\/wp\/v2\/posts\/83416\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/rmarketingdigital.com\/de\/wp-json\/wp\/v2\/media\/83417"}],"wp:attachment":[{"href":"https:\/\/rmarketingdigital.com\/de\/wp-json\/wp\/v2\/media?parent=83416"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/rmarketingdigital.com\/de\/wp-json\/wp\/v2\/categories?post=83416"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/rmarketingdigital.com\/de\/wp-json\/wp\/v2\/tags?post=83416"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}