{"id":143,"date":"2020-12-11T12:10:25","date_gmt":"2020-12-11T11:10:25","guid":{"rendered":"https:\/\/transferttexei.wordpress.com\/2021\/08\/11\/day-11-lightning-web-component-challenge%e2%80%8a-%e2%80%8areview-texeiadventcalendar\/"},"modified":"2024-04-17T16:45:45","modified_gmt":"2024-04-17T14:45:45","slug":"day-11-lightning-web-component-challenge-review-texeiadventcalendar","status":"publish","type":"post","link":"https:\/\/texei.com\/en\/advices\/day-11-lightning-web-component-challenge-review-texeiadventcalendar\/","title":{"rendered":"Day 11\u00a0: Lightning Web Component Challenge\u200a\u2014\u200aReview #TexeiAdventCalendar"},"content":{"rendered":"\r\n<p>Today we are going to talk about LWC security. But before, after 10 days of close inspection, it is time to give you answers of the day 1 challenge (you can still find here: <a href=\"https:\/\/blog.texei.com\/day-1-lightning-web-component-challenge-texeiadventcalendar-231743ef2b19\" target=\"_blank\" rel=\"noopener\">https:\/\/blog.texei.com\/day-1-lightning-web-component-challenge-texeiadventcalendar-231743ef2b19<\/a>).<\/p>\r\n\r\n\r\n\r\n<p>First of all, let\u2019s remind us of how LWC works\u00a0: As classical MVC framework, LWC is locally store in your Web browser. It means users can see your\u00a0.html and\u00a0.js file, and can modify it as wanted. You have to be aware that everything store in those file is accessible.<\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image size-large wp-caption\"><img fetchpriority=\"high\" decoding=\"async\" class=\"alignnone wp-image-2462\" src=\"https:\/\/texei.com\/dev\/wp-content\/uploads\/2021\/08\/1__wBQUmDHeMju7-0ZLUmDNw-1024x509.png\" alt=\"LWC security\" width=\"1024\" height=\"509\" srcset=\"https:\/\/texei.com\/dev\/wp-content\/uploads\/2021\/08\/1__wBQUmDHeMju7-0ZLUmDNw-200x100.png 200w, https:\/\/texei.com\/dev\/wp-content\/uploads\/2021\/08\/1__wBQUmDHeMju7-0ZLUmDNw-300x149.png 300w, https:\/\/texei.com\/dev\/wp-content\/uploads\/2021\/08\/1__wBQUmDHeMju7-0ZLUmDNw-400x199.png 400w, https:\/\/texei.com\/dev\/wp-content\/uploads\/2021\/08\/1__wBQUmDHeMju7-0ZLUmDNw-600x299.png 600w, https:\/\/texei.com\/dev\/wp-content\/uploads\/2021\/08\/1__wBQUmDHeMju7-0ZLUmDNw-768x382.png 768w, https:\/\/texei.com\/dev\/wp-content\/uploads\/2021\/08\/1__wBQUmDHeMju7-0ZLUmDNw-800x398.png 800w, https:\/\/texei.com\/dev\/wp-content\/uploads\/2021\/08\/1__wBQUmDHeMju7-0ZLUmDNw-1024x509.png 1024w, https:\/\/texei.com\/dev\/wp-content\/uploads\/2021\/08\/1__wBQUmDHeMju7-0ZLUmDNw.png 1200w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/>\r\n<figcaption>LWC environment overview<\/figcaption>\r\n<\/figure>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">Component 1<\/h2>\r\n\r\n\r\n\r\n<p>Component 1 use a <strong>&lt;template if:true={isUserConnected}&gt; <\/strong>to display the code only to connected user. The key is hard-coded in the\u00a0.html file and the part of file is only displayed if the value <strong>isUserConnected <\/strong>is true. We can easily see the key in component1.js. S<a href=\"https:\/\/gist.github.com\/jeremyvial\/1abdc62b8208e22d6b4d5ca95d00a2a8\" target=\"_blank\" rel=\"noopener\">ee Component 1 code<\/a><\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image size-full wp-caption\"><img decoding=\"async\" width=\"700\" height=\"440\" class=\"wp-image-2463\" src=\"https:\/\/texei.com\/dev\/wp-content\/uploads\/2021\/08\/1_GUo6zgV6oQG03vK5Q2SliA.png\" alt=\"\" srcset=\"https:\/\/texei.com\/dev\/wp-content\/uploads\/2021\/08\/1_GUo6zgV6oQG03vK5Q2SliA-200x126.png 200w, https:\/\/texei.com\/dev\/wp-content\/uploads\/2021\/08\/1_GUo6zgV6oQG03vK5Q2SliA-300x189.png 300w, https:\/\/texei.com\/dev\/wp-content\/uploads\/2021\/08\/1_GUo6zgV6oQG03vK5Q2SliA-320x202.png 320w, https:\/\/texei.com\/dev\/wp-content\/uploads\/2021\/08\/1_GUo6zgV6oQG03vK5Q2SliA-400x251.png 400w, https:\/\/texei.com\/dev\/wp-content\/uploads\/2021\/08\/1_GUo6zgV6oQG03vK5Q2SliA-600x377.png 600w, https:\/\/texei.com\/dev\/wp-content\/uploads\/2021\/08\/1_GUo6zgV6oQG03vK5Q2SliA.png 700w\" sizes=\"(max-width: 700px) 100vw, 700px\" \/>\r\n<figcaption>Step 1\u00a0: Open your chrome\u00a0console<\/figcaption>\r\n<\/figure>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image size-large wp-caption\"><img decoding=\"async\" width=\"1024\" height=\"455\" class=\"wp-image-2464\" src=\"https:\/\/texei.com\/dev\/wp-content\/uploads\/2021\/08\/1_PE5_LAzJ_Ct3EF3C0JcIYg-1024x455.png\" alt=\"\" srcset=\"https:\/\/texei.com\/dev\/wp-content\/uploads\/2021\/08\/1_PE5_LAzJ_Ct3EF3C0JcIYg-200x89.png 200w, https:\/\/texei.com\/dev\/wp-content\/uploads\/2021\/08\/1_PE5_LAzJ_Ct3EF3C0JcIYg-300x133.png 300w, https:\/\/texei.com\/dev\/wp-content\/uploads\/2021\/08\/1_PE5_LAzJ_Ct3EF3C0JcIYg-400x178.png 400w, https:\/\/texei.com\/dev\/wp-content\/uploads\/2021\/08\/1_PE5_LAzJ_Ct3EF3C0JcIYg-600x267.png 600w, https:\/\/texei.com\/dev\/wp-content\/uploads\/2021\/08\/1_PE5_LAzJ_Ct3EF3C0JcIYg-768x341.png 768w, https:\/\/texei.com\/dev\/wp-content\/uploads\/2021\/08\/1_PE5_LAzJ_Ct3EF3C0JcIYg-800x355.png 800w, https:\/\/texei.com\/dev\/wp-content\/uploads\/2021\/08\/1_PE5_LAzJ_Ct3EF3C0JcIYg-1024x455.png 1024w, https:\/\/texei.com\/dev\/wp-content\/uploads\/2021\/08\/1_PE5_LAzJ_Ct3EF3C0JcIYg.png 1200w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/>\r\n<figcaption>Step 2\u00a0: Go to Sources and the find the component in <strong>s\/module\/c\/component1.js <\/strong>and click on small bracket to format the\u00a0file<\/figcaption>\r\n<\/figure>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">Component 2<\/h2>\r\n\r\n\r\n\r\n<p>The component 2 display a list specific field of some record. But in the background, every fields of the objet are send from the APEX controller. As in the component 1, you just have to look into chrome console but not in static file this time, in the debugging statement. This way you can to see every filed retrieved of the objets (with the one containing the key). <a href=\"https:\/\/gist.github.com\/jeremyvial\/8e48dbb0e9f83f237d84756e8b8c8a16\" target=\"_blank\" rel=\"noopener\">See Component 2 code<\/a><\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image size-full wp-caption\"><img loading=\"lazy\" decoding=\"async\" width=\"503\" height=\"366\" class=\"wp-image-2465\" src=\"https:\/\/texei.com\/dev\/wp-content\/uploads\/2021\/08\/1_18HvwbOLhX2hzjPX8UoZeQ.png\" alt=\"\" srcset=\"https:\/\/texei.com\/dev\/wp-content\/uploads\/2021\/08\/1_18HvwbOLhX2hzjPX8UoZeQ-200x146.png 200w, https:\/\/texei.com\/dev\/wp-content\/uploads\/2021\/08\/1_18HvwbOLhX2hzjPX8UoZeQ-300x218.png 300w, https:\/\/texei.com\/dev\/wp-content\/uploads\/2021\/08\/1_18HvwbOLhX2hzjPX8UoZeQ-400x291.png 400w, https:\/\/texei.com\/dev\/wp-content\/uploads\/2021\/08\/1_18HvwbOLhX2hzjPX8UoZeQ.png 503w\" sizes=\"(max-width: 503px) 100vw, 503px\" \/>\r\n<figcaption>After opening chrome console open <strong>s\/module\/c\/component2.js <\/strong>and click on small bracket to format the\u00a0file<\/figcaption>\r\n<\/figure>\r\n\r\n\r\n\r\n<p>We have to look for our\u00a0.js file component2.js and identify the wire targeted. then we just have to put a breakpoint just after and check the object<\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"651\" class=\"wp-image-2466\" src=\"https:\/\/texei.com\/dev\/wp-content\/uploads\/2021\/08\/1_CfBKCRiR5N6_q0q7kkWFmw.png\" alt=\"\" srcset=\"https:\/\/texei.com\/dev\/wp-content\/uploads\/2021\/08\/1_CfBKCRiR5N6_q0q7kkWFmw-200x163.png 200w, https:\/\/texei.com\/dev\/wp-content\/uploads\/2021\/08\/1_CfBKCRiR5N6_q0q7kkWFmw-300x244.png 300w, https:\/\/texei.com\/dev\/wp-content\/uploads\/2021\/08\/1_CfBKCRiR5N6_q0q7kkWFmw-400x326.png 400w, https:\/\/texei.com\/dev\/wp-content\/uploads\/2021\/08\/1_CfBKCRiR5N6_q0q7kkWFmw-600x488.png 600w, https:\/\/texei.com\/dev\/wp-content\/uploads\/2021\/08\/1_CfBKCRiR5N6_q0q7kkWFmw-768x625.png 768w, https:\/\/texei.com\/dev\/wp-content\/uploads\/2021\/08\/1_CfBKCRiR5N6_q0q7kkWFmw.png 800w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/figure>\r\n\r\n\r\n\r\n<h3 class=\"wp-block-heading\">LWC security: How to secure Component 2 then ?<\/h3>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li>Remove the field from the initial SOQL request as we dont need it in the component here<\/li>\r\n<li>Use the key word <a href=\"https:\/\/developer.salesforce.com\/docs\/atlas.en-us.apexcode.meta\/apexcode\/apex_classes_with_security_enforced.htm\" target=\"_blank\" rel=\"noopener\"><strong>WITH SECURITY_ENFORCE<\/strong><\/a> in your SOQL request which avoir user to retrieve data he can\u2019t usually access<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">Component 3<\/h2>\r\n\r\n\r\n\r\n<p>To get Component 3 key, you just need to do a basic SOQL injection. SOQL executed by the component was given (<a href=\"https:\/\/gist.github.com\/jeremyvial\/8c0b0cc4566c3452defdfbcf670dfc02\" target=\"_blank\" rel=\"noopener\">component 3 code<\/a>):<\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"120\" class=\"wp-image-2467\" src=\"https:\/\/texei.com\/dev\/wp-content\/uploads\/2021\/08\/1_hPk4ZjRHRgIMWwpLj7tUEw.png\" alt=\"\" srcset=\"https:\/\/texei.com\/dev\/wp-content\/uploads\/2021\/08\/1_hPk4ZjRHRgIMWwpLj7tUEw-200x30.png 200w, https:\/\/texei.com\/dev\/wp-content\/uploads\/2021\/08\/1_hPk4ZjRHRgIMWwpLj7tUEw-300x45.png 300w, https:\/\/texei.com\/dev\/wp-content\/uploads\/2021\/08\/1_hPk4ZjRHRgIMWwpLj7tUEw-400x60.png 400w, https:\/\/texei.com\/dev\/wp-content\/uploads\/2021\/08\/1_hPk4ZjRHRgIMWwpLj7tUEw-600x90.png 600w, https:\/\/texei.com\/dev\/wp-content\/uploads\/2021\/08\/1_hPk4ZjRHRgIMWwpLj7tUEw-768x115.png 768w, https:\/\/texei.com\/dev\/wp-content\/uploads\/2021\/08\/1_hPk4ZjRHRgIMWwpLj7tUEw.png 800w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/figure>\r\n\r\n\r\n\r\n<p>You have to found what to put as <strong><em>searchKey <\/em><\/strong>to return all record and the key. using <strong><em>x%\u2019)OR(Name like \u2018<\/em><\/strong> you can get the result expected<\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-2468\" src=\"https:\/\/texei.com\/dev\/wp-content\/uploads\/2021\/08\/1_lZFoucStUUxTjwj9ixWKeA.png\" alt=\"\" width=\"792\" height=\"187\" srcset=\"https:\/\/texei.com\/dev\/wp-content\/uploads\/2021\/08\/1_lZFoucStUUxTjwj9ixWKeA-200x47.png 200w, https:\/\/texei.com\/dev\/wp-content\/uploads\/2021\/08\/1_lZFoucStUUxTjwj9ixWKeA-300x71.png 300w, https:\/\/texei.com\/dev\/wp-content\/uploads\/2021\/08\/1_lZFoucStUUxTjwj9ixWKeA-400x95.png 400w, https:\/\/texei.com\/dev\/wp-content\/uploads\/2021\/08\/1_lZFoucStUUxTjwj9ixWKeA-600x142.png 600w, https:\/\/texei.com\/dev\/wp-content\/uploads\/2021\/08\/1_lZFoucStUUxTjwj9ixWKeA-768x181.png 768w, https:\/\/texei.com\/dev\/wp-content\/uploads\/2021\/08\/1_lZFoucStUUxTjwj9ixWKeA.png 800w\" sizes=\"(max-width: 792px) 100vw, 792px\" \/><\/figure>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"483\" height=\"234\" class=\"wp-image-2469\" src=\"https:\/\/texei.com\/dev\/wp-content\/uploads\/2021\/08\/1_95Ec85CSQ8W47scLy8Wyeg.png\" alt=\"\" srcset=\"https:\/\/texei.com\/dev\/wp-content\/uploads\/2021\/08\/1_95Ec85CSQ8W47scLy8Wyeg-200x97.png 200w, https:\/\/texei.com\/dev\/wp-content\/uploads\/2021\/08\/1_95Ec85CSQ8W47scLy8Wyeg-300x145.png 300w, https:\/\/texei.com\/dev\/wp-content\/uploads\/2021\/08\/1_95Ec85CSQ8W47scLy8Wyeg-400x194.png 400w, https:\/\/texei.com\/dev\/wp-content\/uploads\/2021\/08\/1_95Ec85CSQ8W47scLy8Wyeg.png 483w\" sizes=\"(max-width: 483px) 100vw, 483px\" \/><\/figure>\r\n\r\n\r\n\r\n<h3 class=\"wp-block-heading\">LWC security: How to secure Component 3 then?<\/h3>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li>Avoid dynamic SOQL request extracting <strong>searchKey <\/strong>from the request first<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"148\" class=\"wp-image-2470\" src=\"https:\/\/texei.com\/dev\/wp-content\/uploads\/2021\/08\/1_Ow8Y3h8c1kwAESbF8Oxy4g.png\" alt=\"\" srcset=\"https:\/\/texei.com\/dev\/wp-content\/uploads\/2021\/08\/1_Ow8Y3h8c1kwAESbF8Oxy4g-200x37.png 200w, https:\/\/texei.com\/dev\/wp-content\/uploads\/2021\/08\/1_Ow8Y3h8c1kwAESbF8Oxy4g-300x56.png 300w, https:\/\/texei.com\/dev\/wp-content\/uploads\/2021\/08\/1_Ow8Y3h8c1kwAESbF8Oxy4g-400x74.png 400w, https:\/\/texei.com\/dev\/wp-content\/uploads\/2021\/08\/1_Ow8Y3h8c1kwAESbF8Oxy4g-600x111.png 600w, https:\/\/texei.com\/dev\/wp-content\/uploads\/2021\/08\/1_Ow8Y3h8c1kwAESbF8Oxy4g-768x142.png 768w, https:\/\/texei.com\/dev\/wp-content\/uploads\/2021\/08\/1_Ow8Y3h8c1kwAESbF8Oxy4g.png 800w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/figure>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li>Using <a href=\"https:\/\/developer.salesforce.com\/docs\/atlas.en-us.apexcode.meta\/apexcode\/apex_methods_system_string.htm#apex_System_String_escapeSingleQuotes\" target=\"_blank\" rel=\"noopener\"><strong><em>String.escapeSingleQuotes<\/em><\/strong><\/a> function to update the entry provided by the user. This method appends the escape character (\\) to all single quotes in a string passed by a user. This method treats all single quotes as enclosing strings, instead of database commands.<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<p>These small examples shown you that when exposing LWC to the public includes some risk. It is necessary to be rigorous in the code implementation otherwise some sensitif data could be exposed.<\/p>\r\n\r\n\r\n\r\n<p>That&#8217;s all for our tip about LWC security. Hope you had a good time! Come back tomorrow for a new article written by <a href=\"https:\/\/medium.com\/@elora_32399\" target=\"_blank\" rel=\"noopener\">Elora Guyader<\/a>. Want to continue learning? Check out our next article <a href=\"https:\/\/texei.com\/conseils\/day-12-manage-nested-object-in-your-lightning-web-components\/\" target=\"_blank\" rel=\"noopener\">Manage nested Object in your Lightning Web Components<\/a>.<\/p>\r\n<p>Follow us on LinkedIn <a href=\"https:\/\/fr.linkedin.com\/company\/texei\" target=\"_blank\" rel=\"noopener\">here<\/a> and on Twitter <a href=\"https:\/\/twitter.com\/TexeiFrance?s=20\" target=\"_blank\" rel=\"noopener\">here<\/a>!<\/p>\r\n\r\n\r\n\r\n<h4><em>More to read on LWC security\u00a0:<\/em><\/h4>\r\n\r\n\r\n<p>https:\/\/medium.com\/salesforce-platform\/is-your-lightning-component-secure-5a5a25b98f17<\/p>\n\r\n\r\n<p>https:\/\/trailhead.salesforce.com\/fr\/content\/learn\/modules\/secure-clientside-development?trail_id=security_developer<\/p>\n\r\n\r\n<p>https:\/\/trailhead.salesforce.com\/fr\/content\/learn\/modules\/secure-serverside-development?trail_id=security_developer<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Today we are going to talk about LWC security. But before, after 10 days of close inspection, it is time to give you answers of the day 1 challenge (you can still find here: https:\/\/blog.texei.com\/day-1-lightning-web-component-challenge-texeiadventcalendar-231743ef2b19). First of all, let\u2019s remind us of how LWC works\u00a0: As classical MVC framework, LWC is locally store in your [&hellip;]<\/p>\n","protected":false},"author":12,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[150],"tags":[],"class_list":["post-143","post","type-post","status-publish","format-standard","hentry","category-conseils"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.5 (Yoast SEO v27.5) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Day 11\u00a0: Lightning Web Component Challenge\u200a\u2014\u200aReview #TexeiAdventCalendar - Texe\u00ef<\/title>\n<meta name=\"description\" content=\"Read more on LWC security and stay vigilant to safeguard your applications. Learn how to to protect sensitive data.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/texei.com\/en\/conseils\/day-11-lightning-web-component-challenge-review-texeiadventcalendar\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Day 11\u00a0: Lightning Web Component Challenge\u200a\u2014\u200aReview #TexeiAdventCalendar\" \/>\n<meta property=\"og:description\" content=\"Read more on LWC security and stay vigilant to safeguard your applications. Learn how to to protect sensitive data.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/texei.com\/en\/conseils\/day-11-lightning-web-component-challenge-review-texeiadventcalendar\/\" \/>\n<meta property=\"og:site_name\" content=\"Texe\u00ef\" \/>\n<meta property=\"article:published_time\" content=\"2020-12-11T11:10:25+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-04-17T14:45:45+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/texei.com\/dev\/wp-content\/uploads\/2020\/12\/1_XbmqbH-hz1UubxRHpyweOg.png\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"450\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Jeremy Vial\" \/>\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:\\\/\\\/texei.com\\\/en\\\/conseils\\\/day-11-lightning-web-component-challenge-review-texeiadventcalendar\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/texei.com\\\/en\\\/conseils\\\/day-11-lightning-web-component-challenge-review-texeiadventcalendar\\\/\"},\"author\":{\"name\":\"Jeremy Vial\",\"@id\":\"https:\\\/\\\/texei.com\\\/#\\\/schema\\\/person\\\/f739bbd2bbf231ebbda0d563e5a4f668\"},\"headline\":\"Day 11\u00a0: Lightning Web Component Challenge\u200a\u2014\u200aReview #TexeiAdventCalendar\",\"datePublished\":\"2020-12-11T11:10:25+00:00\",\"dateModified\":\"2024-04-17T14:45:45+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/texei.com\\\/en\\\/conseils\\\/day-11-lightning-web-component-challenge-review-texeiadventcalendar\\\/\"},\"wordCount\":581,\"publisher\":{\"@id\":\"https:\\\/\\\/texei.com\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/texei.com\\\/en\\\/conseils\\\/day-11-lightning-web-component-challenge-review-texeiadventcalendar\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/texei.com\\\/dev\\\/wp-content\\\/uploads\\\/2021\\\/08\\\/1__wBQUmDHeMju7-0ZLUmDNw-1024x509.png\",\"articleSection\":[\"Conseils\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/texei.com\\\/en\\\/conseils\\\/day-11-lightning-web-component-challenge-review-texeiadventcalendar\\\/\",\"url\":\"https:\\\/\\\/texei.com\\\/en\\\/conseils\\\/day-11-lightning-web-component-challenge-review-texeiadventcalendar\\\/\",\"name\":\"Day 11\u00a0: Lightning Web Component Challenge\u200a\u2014\u200aReview #TexeiAdventCalendar - Texe\u00ef\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/texei.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/texei.com\\\/en\\\/conseils\\\/day-11-lightning-web-component-challenge-review-texeiadventcalendar\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/texei.com\\\/en\\\/conseils\\\/day-11-lightning-web-component-challenge-review-texeiadventcalendar\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/texei.com\\\/dev\\\/wp-content\\\/uploads\\\/2021\\\/08\\\/1__wBQUmDHeMju7-0ZLUmDNw-1024x509.png\",\"datePublished\":\"2020-12-11T11:10:25+00:00\",\"dateModified\":\"2024-04-17T14:45:45+00:00\",\"description\":\"Read more on LWC security and stay vigilant to safeguard your applications. Learn how to to protect sensitive data.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/texei.com\\\/en\\\/conseils\\\/day-11-lightning-web-component-challenge-review-texeiadventcalendar\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/texei.com\\\/en\\\/conseils\\\/day-11-lightning-web-component-challenge-review-texeiadventcalendar\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/texei.com\\\/en\\\/conseils\\\/day-11-lightning-web-component-challenge-review-texeiadventcalendar\\\/#primaryimage\",\"url\":\"https:\\\/\\\/texei.com\\\/dev\\\/wp-content\\\/uploads\\\/2021\\\/08\\\/1__wBQUmDHeMju7-0ZLUmDNw-1024x509.png\",\"contentUrl\":\"https:\\\/\\\/texei.com\\\/dev\\\/wp-content\\\/uploads\\\/2021\\\/08\\\/1__wBQUmDHeMju7-0ZLUmDNw-1024x509.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/texei.com\\\/en\\\/conseils\\\/day-11-lightning-web-component-challenge-review-texeiadventcalendar\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/texei.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Advices\",\"item\":\"https:\\\/\\\/texei.com\\\/en\\\/category\\\/advices\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Day 11\u00a0: Lightning Web Component Challenge\u200a\u2014\u200aReview #TexeiAdventCalendar\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/texei.com\\\/#website\",\"url\":\"https:\\\/\\\/texei.com\\\/\",\"name\":\"Texe\u00ef\",\"description\":\"Turn your IT into Business\",\"publisher\":{\"@id\":\"https:\\\/\\\/texei.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/texei.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/texei.com\\\/#organization\",\"name\":\"Texe\u00ef\",\"url\":\"https:\\\/\\\/texei.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/texei.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/texei.com\\\/dev\\\/wp-content\\\/uploads\\\/2021\\\/03\\\/logo-essai-1.jpg\",\"contentUrl\":\"https:\\\/\\\/texei.com\\\/dev\\\/wp-content\\\/uploads\\\/2021\\\/03\\\/logo-essai-1.jpg\",\"width\":2560,\"height\":1102,\"caption\":\"Texe\u00ef\"},\"image\":{\"@id\":\"https:\\\/\\\/texei.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/texei.com\\\/#\\\/schema\\\/person\\\/f739bbd2bbf231ebbda0d563e5a4f668\",\"name\":\"Jeremy Vial\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/texei.com\\\/dev\\\/wp-content\\\/uploads\\\/2023\\\/07\\\/avatar_user_12_1690807516-96x96.png\",\"url\":\"https:\\\/\\\/texei.com\\\/dev\\\/wp-content\\\/uploads\\\/2023\\\/07\\\/avatar_user_12_1690807516-96x96.png\",\"contentUrl\":\"https:\\\/\\\/texei.com\\\/dev\\\/wp-content\\\/uploads\\\/2023\\\/07\\\/avatar_user_12_1690807516-96x96.png\",\"caption\":\"Jeremy Vial\"},\"url\":\"https:\\\/\\\/texei.com\\\/en\\\/author\\\/jeremyvial\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Day 11\u00a0: Lightning Web Component Challenge\u200a\u2014\u200aReview #TexeiAdventCalendar - Texe\u00ef","description":"Read more on LWC security and stay vigilant to safeguard your applications. Learn how to to protect sensitive data.","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:\/\/texei.com\/en\/conseils\/day-11-lightning-web-component-challenge-review-texeiadventcalendar\/","og_locale":"en_US","og_type":"article","og_title":"Day 11\u00a0: Lightning Web Component Challenge\u200a\u2014\u200aReview #TexeiAdventCalendar","og_description":"Read more on LWC security and stay vigilant to safeguard your applications. Learn how to to protect sensitive data.","og_url":"https:\/\/texei.com\/en\/conseils\/day-11-lightning-web-component-challenge-review-texeiadventcalendar\/","og_site_name":"Texe\u00ef","article_published_time":"2020-12-11T11:10:25+00:00","article_modified_time":"2024-04-17T14:45:45+00:00","og_image":[{"width":800,"height":450,"url":"https:\/\/texei.com\/dev\/wp-content\/uploads\/2020\/12\/1_XbmqbH-hz1UubxRHpyweOg.png","type":"image\/png"}],"author":"Jeremy Vial","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/texei.com\/en\/conseils\/day-11-lightning-web-component-challenge-review-texeiadventcalendar\/#article","isPartOf":{"@id":"https:\/\/texei.com\/en\/conseils\/day-11-lightning-web-component-challenge-review-texeiadventcalendar\/"},"author":{"name":"Jeremy Vial","@id":"https:\/\/texei.com\/#\/schema\/person\/f739bbd2bbf231ebbda0d563e5a4f668"},"headline":"Day 11\u00a0: Lightning Web Component Challenge\u200a\u2014\u200aReview #TexeiAdventCalendar","datePublished":"2020-12-11T11:10:25+00:00","dateModified":"2024-04-17T14:45:45+00:00","mainEntityOfPage":{"@id":"https:\/\/texei.com\/en\/conseils\/day-11-lightning-web-component-challenge-review-texeiadventcalendar\/"},"wordCount":581,"publisher":{"@id":"https:\/\/texei.com\/#organization"},"image":{"@id":"https:\/\/texei.com\/en\/conseils\/day-11-lightning-web-component-challenge-review-texeiadventcalendar\/#primaryimage"},"thumbnailUrl":"https:\/\/texei.com\/dev\/wp-content\/uploads\/2021\/08\/1__wBQUmDHeMju7-0ZLUmDNw-1024x509.png","articleSection":["Conseils"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/texei.com\/en\/conseils\/day-11-lightning-web-component-challenge-review-texeiadventcalendar\/","url":"https:\/\/texei.com\/en\/conseils\/day-11-lightning-web-component-challenge-review-texeiadventcalendar\/","name":"Day 11\u00a0: Lightning Web Component Challenge\u200a\u2014\u200aReview #TexeiAdventCalendar - Texe\u00ef","isPartOf":{"@id":"https:\/\/texei.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/texei.com\/en\/conseils\/day-11-lightning-web-component-challenge-review-texeiadventcalendar\/#primaryimage"},"image":{"@id":"https:\/\/texei.com\/en\/conseils\/day-11-lightning-web-component-challenge-review-texeiadventcalendar\/#primaryimage"},"thumbnailUrl":"https:\/\/texei.com\/dev\/wp-content\/uploads\/2021\/08\/1__wBQUmDHeMju7-0ZLUmDNw-1024x509.png","datePublished":"2020-12-11T11:10:25+00:00","dateModified":"2024-04-17T14:45:45+00:00","description":"Read more on LWC security and stay vigilant to safeguard your applications. Learn how to to protect sensitive data.","breadcrumb":{"@id":"https:\/\/texei.com\/en\/conseils\/day-11-lightning-web-component-challenge-review-texeiadventcalendar\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/texei.com\/en\/conseils\/day-11-lightning-web-component-challenge-review-texeiadventcalendar\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/texei.com\/en\/conseils\/day-11-lightning-web-component-challenge-review-texeiadventcalendar\/#primaryimage","url":"https:\/\/texei.com\/dev\/wp-content\/uploads\/2021\/08\/1__wBQUmDHeMju7-0ZLUmDNw-1024x509.png","contentUrl":"https:\/\/texei.com\/dev\/wp-content\/uploads\/2021\/08\/1__wBQUmDHeMju7-0ZLUmDNw-1024x509.png"},{"@type":"BreadcrumbList","@id":"https:\/\/texei.com\/en\/conseils\/day-11-lightning-web-component-challenge-review-texeiadventcalendar\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/texei.com\/"},{"@type":"ListItem","position":2,"name":"Advices","item":"https:\/\/texei.com\/en\/category\/advices\/"},{"@type":"ListItem","position":3,"name":"Day 11\u00a0: Lightning Web Component Challenge\u200a\u2014\u200aReview #TexeiAdventCalendar"}]},{"@type":"WebSite","@id":"https:\/\/texei.com\/#website","url":"https:\/\/texei.com\/","name":"Texe\u00ef","description":"Turn your IT into Business","publisher":{"@id":"https:\/\/texei.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/texei.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/texei.com\/#organization","name":"Texe\u00ef","url":"https:\/\/texei.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/texei.com\/#\/schema\/logo\/image\/","url":"https:\/\/texei.com\/dev\/wp-content\/uploads\/2021\/03\/logo-essai-1.jpg","contentUrl":"https:\/\/texei.com\/dev\/wp-content\/uploads\/2021\/03\/logo-essai-1.jpg","width":2560,"height":1102,"caption":"Texe\u00ef"},"image":{"@id":"https:\/\/texei.com\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/texei.com\/#\/schema\/person\/f739bbd2bbf231ebbda0d563e5a4f668","name":"Jeremy Vial","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/texei.com\/dev\/wp-content\/uploads\/2023\/07\/avatar_user_12_1690807516-96x96.png","url":"https:\/\/texei.com\/dev\/wp-content\/uploads\/2023\/07\/avatar_user_12_1690807516-96x96.png","contentUrl":"https:\/\/texei.com\/dev\/wp-content\/uploads\/2023\/07\/avatar_user_12_1690807516-96x96.png","caption":"Jeremy Vial"},"url":"https:\/\/texei.com\/en\/author\/jeremyvial\/"}]}},"_links":{"self":[{"href":"https:\/\/texei.com\/en\/wp-json\/wp\/v2\/posts\/143","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/texei.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/texei.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/texei.com\/en\/wp-json\/wp\/v2\/users\/12"}],"replies":[{"embeddable":true,"href":"https:\/\/texei.com\/en\/wp-json\/wp\/v2\/comments?post=143"}],"version-history":[{"count":0,"href":"https:\/\/texei.com\/en\/wp-json\/wp\/v2\/posts\/143\/revisions"}],"wp:attachment":[{"href":"https:\/\/texei.com\/en\/wp-json\/wp\/v2\/media?parent=143"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/texei.com\/en\/wp-json\/wp\/v2\/categories?post=143"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/texei.com\/en\/wp-json\/wp\/v2\/tags?post=143"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}