{"componentChunkName":"component---src-templates-blog-list-template-js","path":"/131","result":{"data":{"allMarkdownRemark":{"edges":[{"node":{"excerpt":"Hello, Deno Deno is a new platform for writing applications using JavaScript and TypeScript. It is based on the V8 JavaScript engine and the…","fields":{"slug":"/engineering/hello-world-deno/"},"html":"<h3 id=\"hello-deno\" style=\"position:relative;\"><a href=\"#hello-deno\" aria-label=\"hello deno permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Hello, Deno</h3>\n<p>Deno is a new platform for writing applications using JavaScript and TypeScript. It is based on the V8 JavaScript engine and the Rust.</p>\n<p>Deno’s lowest level binding layer to the system is tied to promises (called <strong>ops</strong>). Deno is secure by default, provides first-class TypeScript support, has built-in utilities like a dependency inspector, and supports third-party modules such as <strong>lodash</strong> .</p>\n<p>Btw, this is the best damn geeky one-liner code to explain what is Deno. Totally cool.</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 597px; \"\n    >\n      <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 24.623115577889447%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAFCAYAAABFA8wzAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAwUlEQVQY041QuQ6CQBTk3+n5Lmw02mGjJmpALFj2Psd9qxijjdPM9TLZbMU9Crpuj/VmA+dc8Skl/IvllrhiM4dUCkJKcC4QYkTMBZUxpuLTy5fsQ3/nMd9WdV2jaRqcLxccjidc+wH9bcQw3tEPI7Q2Py8muQwtHY2FkAdXbYvdbgtjDBhjkFLAWoNpYsV7799DIYTnl7zHUxn5REUVRbPUkNrCOA/rQ9GUCWWgrYM2DrNQmLjM3TMjZjkjrXJP/ADZdIQN2Y9dHAAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"alt_text\"\n        title=\"Twitter\"\n        src=\"/static/ab0017058c6f2515d379f3532daea705/17602/twitter.png\"\n        srcset=\"/static/ab0017058c6f2515d379f3532daea705/17602/twitter.png 597w\"\n        sizes=\"(max-width: 597px) 100vw, 597px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n    </span></p>\n<h3 id=\"installation\" style=\"position:relative;\"><a href=\"#installation\" aria-label=\"installation permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Installation</h3>\n<p>Deno works on macOS, Linux, and Windows. Deno is a single binary executable and it has no external dependencies.</p>\n<p>See all <a href=\"https://docs.deno.com/runtime/getting_started/installation/\">installation</a>.</p>\n<h4 id=\"install-deno-on-windows-1087\" style=\"position:relative;\"><a href=\"#install-deno-on-windows-1087\" aria-label=\"install deno on windows 1087 permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><strong>Install Deno on Windows 10/8/7</strong></h4>\n<p>Launch <strong>Windows PowerShell</strong> and run the following command to install Deno on <strong>Windows 10/8/7</strong></p>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"\" data-index=\"0\"><code class=\"grvsc-code\"><span class=\"grvsc-line\">iwr https://deno.land/x/install/install.ps1 -useb | iex</span></code></pre>\n<h4 id=\"install-deno-on-linux-and-macos\" style=\"position:relative;\"><a href=\"#install-deno-on-linux-and-macos\" aria-label=\"install deno on linux and macos permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><strong>Install Deno on Linux and macOS</strong></h4>\n<p>Launch terminal and run the following command to install Deno on Linux and Mac</p>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"\" data-index=\"1\"><code class=\"grvsc-code\"><span class=\"grvsc-line\">curl -fsSL https://deno.land/x/install/install.sh | sh</span></code></pre>\n<p>Open a new terminal and run <code>deno</code>. You should get a <code>></code> prompt. Type <code>exit</code>.</p>\n<p>After installing deno on your system we just need to create a simple <strong>Hello World</strong> program by using the following steps :</p>\n<p>Step 1. Create a Folder as per your project name by using command prompt</p>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"\" data-index=\"2\"><code class=\"grvsc-code\"><span class=\"grvsc-line\">mkdir HelloWorldDeno</span></code></pre>\n<p>Step 2. Create a typeScript file and name it <strong>index.ts.</strong></p>\n<p>Step 3. Add the following code in <strong>index.ts.</strong></p>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"ts\" data-index=\"3\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"mtk4\">const</span><span class=\"mtk1\"> </span><span class=\"mtk11\">helloWorld</span><span class=\"mtk1\"> = (</span><span class=\"mtk12\">name</span><span class=\"mtk1\">: </span><span class=\"mtk10\">string</span><span class=\"mtk1\"> = </span><span class=\"mtk8\">&quot;world&quot;</span><span class=\"mtk1\">) </span><span class=\"mtk4\">=&gt;</span><span class=\"mtk1\"> {</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">  </span><span class=\"mtk10\">console</span><span class=\"mtk1\">.</span><span class=\"mtk11\">log</span><span class=\"mtk1\">(</span><span class=\"mtk8\">`Hello </span><span class=\"mtk4\">${</span><span class=\"mtk12\">name</span><span class=\"mtk4\">}</span><span class=\"mtk8\">!!`</span><span class=\"mtk1\">);</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">}</span></span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\"><span class=\"mtk11\">helloWorld</span><span class=\"mtk1\">();</span></span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\"><span class=\"mtk11\">helloWorld</span><span class=\"mtk1\">(</span><span class=\"mtk8\">&quot;Friend&quot;</span><span class=\"mtk1\">);</span></span></code></pre>\n<p>Step 4. Run the following project by using the following command</p>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"\" data-index=\"4\"><code class=\"grvsc-code\"><span class=\"grvsc-line\">deno run index.ts</span></code></pre>\n<p>You can check the result here</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 768px; \"\n    >\n      <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 29.69230769230769%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAGCAYAAADDl76dAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAApUlEQVQY08WOQQqDMBBFh6jJhGDBIpQewwMIHqx4CQUXLoxewQN+M1Pqpou66+LxJoR5DPWvHuM4YhgG9TzP2LYN67oqMb69LIsSYzz9Qd7TNGHfd1D5LBFuAZ49rLUn7Jy6KAo1Ef2kaRpQ/ahR3SuEEGBdCjGDvYdPSCzPc0XmLMtgjPlC/iTYdR2IHeuCSxdpLCGzBCVw5TKJitu2BV1d+lvwAH8sotK/L3xwAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"alt_text\"\n        title=\"Result\"\n        src=\"/static/52358765209f0df27b81040673360e7d/e5715/cmd.png\"\n        srcset=\"/static/52358765209f0df27b81040673360e7d/a6d36/cmd.png 650w,\n/static/52358765209f0df27b81040673360e7d/e5715/cmd.png 768w,\n/static/52358765209f0df27b81040673360e7d/23725/cmd.png 1105w\"\n        sizes=\"(max-width: 768px) 100vw, 768px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n    </span></p>\n<p>Yupppp it works this is your first Deno program !!</p>\n<style class=\"grvsc-styles\">\n  .grvsc-container {\n    overflow: auto;\n    -webkit-overflow-scrolling: touch;\n    padding-top: 1rem;\n    padding-top: var(--grvsc-padding-top, var(--grvsc-padding-v, 1rem));\n    padding-bottom: 1rem;\n    padding-bottom: var(--grvsc-padding-bottom, var(--grvsc-padding-v, 1rem));\n    border-radius: 8px;\n    border-radius: var(--grvsc-border-radius, 8px);\n    font-feature-settings: normal;\n  }\n  \n  .grvsc-code {\n    display: inline-block;\n    min-width: 100%;\n  }\n  \n  .grvsc-line {\n    display: inline-block;\n    box-sizing: border-box;\n    width: 100%;\n    padding-left: 1.5rem;\n    padding-left: var(--grvsc-padding-left, var(--grvsc-padding-h, 1.5rem));\n    padding-right: 1.5rem;\n    padding-right: var(--grvsc-padding-right, var(--grvsc-padding-h, 1.5rem));\n  }\n  \n  .grvsc-line-highlighted {\n    background-color: var(--grvsc-line-highlighted-background-color, transparent);\n    box-shadow: inset var(--grvsc-line-highlighted-border-width, 4px) 0 0 0 var(--grvsc-line-highlighted-border-color, transparent);\n  }\n  \n  .dark-default-dark {\n    background-color: #1E1E1E;\n    color: #D4D4D4;\n  }\n  .dark-default-dark .mtk4 { color: #569CD6; }\n  .dark-default-dark .mtk1 { color: #D4D4D4; }\n  .dark-default-dark .mtk11 { color: #DCDCAA; }\n  .dark-default-dark .mtk12 { color: #9CDCFE; }\n  .dark-default-dark .mtk10 { color: #4EC9B0; }\n  .dark-default-dark .mtk8 { color: #CE9178; }\n</style>","frontmatter":{"date":"June 02, 2020","updated_date":null,"description":null,"title":"Hello world with Deno","tags":["Deno","HelloWorld","NodeJs"],"pinned":null,"coverImage":{"childImageSharp":{"fluid":{"aspectRatio":1.7699115044247788,"src":"/static/9e27529ebed74724b5d86438b9445e49/ee604/deno.png","srcSet":"/static/9e27529ebed74724b5d86438b9445e49/69585/deno.png 200w,\n/static/9e27529ebed74724b5d86438b9445e49/497c6/deno.png 400w,\n/static/9e27529ebed74724b5d86438b9445e49/ee604/deno.png 800w,\n/static/9e27529ebed74724b5d86438b9445e49/f3583/deno.png 1200w,\n/static/9e27529ebed74724b5d86438b9445e49/e4d72/deno.png 1280w","sizes":"(max-width: 800px) 100vw, 800px"}}},"author":{"id":"Ashish Sharma","github":"ashish8947","avatar":null}}}},{"node":{"excerpt":"Social login is the need for simplifying your registration process and increasing the conversion rates. Here we will be implementing…","fields":{"slug":"/engineering/facebook-authentication-using-node-and-passport/"},"html":"<p>Social login is the need for simplifying your registration process and increasing the conversion rates. Here we will be implementing <strong>Facebook Login</strong>  using NodeJS and <a href=\"http://www.passportjs.org/\">Passport</a>. </p>\n<p>Passport is authentication middleware for Node, which authenticates requests and delegates all other functionality to the application. Considering the unique application requirements, passport has stuck to authentication mechanisms known as strategies. In the blog, we will be implementing a similar strategy for Login with Facebook.</p>\n<h2 id=\"pre--requisites\" style=\"position:relative;\"><a href=\"#pre--requisites\" aria-label=\"pre  requisites permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Pre -Requisites:</h2>\n<ol>\n<li>Basic Knowledge of NodeJS </li>\n<li>Node JS should be installed on your system. </li>\n</ol>\n<h2 id=\"steps-to-configure\" style=\"position:relative;\"><a href=\"#steps-to-configure\" aria-label=\"steps to configure permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Steps to configure</h2>\n<ol>\n<li>Creating Facebook <code>APP_ID</code> and <code>APP_SECRET</code></li>\n<li>Go to <a href=\"http://developers.facebook.com\">Facebook</a> and login with your Facebook account. </li>\n<li>Once you have registered, click on the <code>create app</code> link and you will need to enter the details in the following pop-up</li>\n</ol>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 768px; \"\n    >\n      <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 63.53846153846155%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAYAAACpUE5eAAAACXBIWXMAABJ0AAASdAHeZh94AAACSklEQVQ4y5WTzWsTURTFJ2kTnckkk7YUoqDFjSC4dlUhICLUWmySWlQakZr4f1RwJy7qxkXoxkVpmq82C3GlbT506UKoIFqUWJPUNkmbZCaT5Hjfy1eJQfDBjzP3TubMfWdehLm5O3iwsICHXi+8xOLiI/h9fvj9LXw+X5dO7yS9e4/hdE9CmJq6iafLL/ByYxPBcBjhEEEaiUQQjUYRi8X+CftNPB5HIBDAzMxtCIIkY2k1iN/HZfzK5ZHNEqQ5QtU0NJtN1Ot1roMWu8dWOp2GTbFDMNgUPAmGeLN0dARV1QiVq6a1qFSq3Qf7jTv9VCoFi2yFcFq2IbAW5iYHB4d8KmZWraq8x7TRaHAjpv3ous4NE4kErDScIFolrARXeLNYLKFWq3E0janOtWM4CL09YTKZhGy1QRiWT+HZ2jJvlisVephl1kCdTNh2+DXXv2FmNXohW2+3tmFlhjYac309REbAYaFIOR6jqqrtHNUT160YOO2a70ZTuxPyLcsUZDQaaSdMru3MWfZsWs7gD0x569jbL6NUBd5tJVsTmkUFS8+D+JwpYfvrF7z/sYsP33eR2csi87NHLr9PGRdRKBS45vN5fNr5hlebH7H6egeRjTcYGxsFHUMFE5dv4MIVN2TnVYjXJuG47oTL5YLb7e7C6tnZHqz2eDy4O+/B/XvzuDU9DcU+AsE+MgpJNMNsMkIcNkEaMkEkDMYhOqQ9WN2PYDDSP6MFq0XJAmHccR7jjrNQzl2EcmYCl6ipyDIkykP+D9ihliwy/gDkI+tLueqzHgAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"Create Facebook APP\"\n        title=\"Create Facebook APP\"\n        src=\"/static/e8c06ec0d08aef20e4c5cb6083f4c715/e5715/create-facebook-app.png\"\n        srcset=\"/static/e8c06ec0d08aef20e4c5cb6083f4c715/a6d36/create-facebook-app.png 650w,\n/static/e8c06ec0d08aef20e4c5cb6083f4c715/e5715/create-facebook-app.png 768w,\n/static/e8c06ec0d08aef20e4c5cb6083f4c715/18539/create-facebook-app.png 1074w\"\n        sizes=\"(max-width: 768px) 100vw, 768px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n    </span></p>\n<ul>\n<li>After creating an app you need to add the product of Facebook, here we are going to use <strong>Facebook Login</strong> </li>\n</ul>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 768px; \"\n    >\n      <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 47.38461538461538%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAJCAYAAAAywQxIAAAACXBIWXMAABJ0AAASdAHeZh94AAABuklEQVQoz31Sa2/TMBTN//8tCCG2wjq6MbZPCCQkXgOt6bamSeo4ifNo/Eqcw7WnbRJIOLqy7+vk3GNHx8v3OD69wOLdB7w8OsWL1yd49WYVzJ+PludYUP7t2SVOzq6wPL8K5183GyRpjvXtPW7iO3z68g2L5QqRVgqPy5gR2lgY6/fn85Ovbajx1vUDmraDaHuUVYP+IMEYR1RwDuccFVlke440L+ivCba7HKwoiQXDLmNI9wVyqk0y7xfkc2S8C3vOSjBeY725Q1QLgXEcMU1TCO6LGsoaxGmD73EJbS2UMRClxOZrjdGNkMrAKAm1/QxL7Bti6Xu3SYpoInbzPBOgC8GcAGf6MiYQ3xckBOUo31Q9Ntc5eS7UjkajTX5Qrwvjepa8Eoge9XtiSNYNmiIugFWk1UHqIIlzMzUPxFBhGBTchOAL0jIvKvCyRuTZ/Q04KA3eKmS1B5OQ0uKgOrAugVI2gEliuG5uobSGaP4D6M2vHe/xeyce6FNJK0v8zD4G19HIatRYxZeUm3EYJElEI5fiX8CCgn48RaLLYaDnYmDp0jyrvpXBN3RRWhuoXlGtCU8oZw8M/wB8NaeJw0dMcwAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"Add a Facebook product\"\n        title=\"Add a Facebook product\"\n        src=\"/static/bd9643c6c52b6bc1b57a8fdebaadaf58/e5715/add-product.png\"\n        srcset=\"/static/bd9643c6c52b6bc1b57a8fdebaadaf58/a6d36/add-product.png 650w,\n/static/bd9643c6c52b6bc1b57a8fdebaadaf58/e5715/add-product.png 768w,\n/static/bd9643c6c52b6bc1b57a8fdebaadaf58/9e818/add-product.png 1913w\"\n        sizes=\"(max-width: 768px) 100vw, 768px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n    </span></p>\n<ul>\n<li>After adding up the product you can now choose to have 'web' and while setting up the URL, you can simply write <code>http://localhost:3000</code></li>\n<li>After this go to tab 'MyApps' and select the <strong>App name</strong>. Select the 'Basic` from <em>settings</em> options in the sidebar as shown below. You can now copy your secret and ID from here</li>\n</ul>\n<p>  <span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 768px; \"\n    >\n      <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 39.23076923076923%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAICAYAAAD5nd/tAAAACXBIWXMAABJ0AAASdAHeZh94AAABDklEQVQoz3WRi26DMAxF+///ubWEBAJ5k8Cd7ZIu0jRLlsK1ffzg4b3HeZ6orWHWK7SxWFYLu+3Ydg/nw+2RNIfVbthdGPQgeVw3mxWPr+8nQkyIKeM5GRItJqXwmiZYa5FzQSIv5cBGTdSs5c16j0WqVzTMSxk8jDEy4XFUETiQCF5rA9t1XeLvHAZl2Ya/e4xrlV7ewJWmaJTA3oEhRune2il6L2ZgCBHOeXlznPVUyi8Qt9UB6Pk2zgm0UHKftq+dSeOp2BlYa8U030AWBFjHCRMW6+SufW22lBK0NqQnacQNOMS1f4HjyrQWA0PMnzv1vH7P7mx8ln+B/Jd9CHLHcd0ROlqlO4Z0fG74A2PwbRsXeEuEAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"App ID and Secret\"\n        title=\"App ID and Sceret\"\n        src=\"/static/f8ff874a7adff62e2060a11acb390ae8/e5715/app-id-secret.png\"\n        srcset=\"/static/f8ff874a7adff62e2060a11acb390ae8/a6d36/app-id-secret.png 650w,\n/static/f8ff874a7adff62e2060a11acb390ae8/e5715/app-id-secret.png 768w,\n/static/f8ff874a7adff62e2060a11acb390ae8/f33fc/app-id-secret.png 1905w\"\n        sizes=\"(max-width: 768px) 100vw, 768px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n    </span></p>\n<ol start=\"2\">\n<li>\n<p>Now enough, let's move to code, First of all, create a directory named <code>facebook-node-authentication</code></p>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"\" data-index=\"0\"><code class=\"grvsc-code\"><span class=\"grvsc-line\">mkdir facebook-node-authentication</span></code></pre>\n</li>\n<li>Move to the directory <code>facebook-node-authentication/</code></li>\n</ol>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"\" data-index=\"1\"><code class=\"grvsc-code\"><span class=\"grvsc-line\">  cd facebook-node-authentication</span></code></pre>\n<ol start=\"4\">\n<li>In the root create a file <code>package.json</code> and copy the following code </li>\n</ol>\n<p>The dependencies, we are going to use in the projects are </p>\n<ul>\n<li><code>express</code> : Node web framework</li>\n<li><code>express-session</code> Session managment of express</li>\n<li><code>passport</code> Authentication middleware for NodeJS </li>\n<li><code>passport-facebook</code> Facebook Plugin for passport</li>\n<li><code>ejs</code> - Templating engine</li>\n</ul>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"json\" data-index=\"2\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"mtk1\">{</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">  </span><span class=\"mtk12\">&quot;name&quot;</span><span class=\"mtk1\">: </span><span class=\"mtk8\">&quot;facebook_login_node&quot;</span><span class=\"mtk1\">,</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">  </span><span class=\"mtk12\">&quot;version&quot;</span><span class=\"mtk1\">: </span><span class=\"mtk8\">&quot;1.0.0&quot;</span><span class=\"mtk1\">,</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">  </span><span class=\"mtk12\">&quot;description&quot;</span><span class=\"mtk1\">: </span><span class=\"mtk8\">&quot;</span><span class=\"mtk6\">\\&quot;</span><span class=\"mtk8\">Basic application for setting up Facebook logij using node and passport</span><span class=\"mtk6\">\\&quot;</span><span class=\"mtk8\">&quot;</span><span class=\"mtk1\">,</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">  </span><span class=\"mtk12\">&quot;main&quot;</span><span class=\"mtk1\">: </span><span class=\"mtk8\">&quot;index.js&quot;</span><span class=\"mtk1\">,</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">  </span><span class=\"mtk12\">&quot;scripts&quot;</span><span class=\"mtk1\">: {</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    </span><span class=\"mtk12\">&quot;test&quot;</span><span class=\"mtk1\">: </span><span class=\"mtk8\">&quot;echo </span><span class=\"mtk6\">\\&quot;</span><span class=\"mtk8\">Error: no test specified</span><span class=\"mtk6\">\\&quot;</span><span class=\"mtk8\"> && exit 1&quot;</span><span class=\"mtk1\">,</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    </span><span class=\"mtk12\">&quot;start&quot;</span><span class=\"mtk1\">: </span><span class=\"mtk8\">&quot;node server.js&quot;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">  },</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">  </span><span class=\"mtk12\">&quot;author&quot;</span><span class=\"mtk1\">: </span><span class=\"mtk8\">&quot;&quot;</span><span class=\"mtk1\">,</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">  </span><span class=\"mtk12\">&quot;license&quot;</span><span class=\"mtk1\">: </span><span class=\"mtk8\">&quot;ISC&quot;</span><span class=\"mtk1\">,</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">  </span><span class=\"mtk12\">&quot;dependencies&quot;</span><span class=\"mtk1\">: {</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    </span><span class=\"mtk12\">&quot;ejs&quot;</span><span class=\"mtk1\">: </span><span class=\"mtk8\">&quot;^3.1.2&quot;</span><span class=\"mtk1\">,</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    </span><span class=\"mtk12\">&quot;express&quot;</span><span class=\"mtk1\">: </span><span class=\"mtk8\">&quot;^4.17.1&quot;</span><span class=\"mtk1\">,</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    </span><span class=\"mtk12\">&quot;express-session&quot;</span><span class=\"mtk1\">: </span><span class=\"mtk8\">&quot;^1.17.1&quot;</span><span class=\"mtk1\">,</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    </span><span class=\"mtk12\">&quot;passport&quot;</span><span class=\"mtk1\">: </span><span class=\"mtk8\">&quot;^0.4.1&quot;</span><span class=\"mtk1\">,</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    </span><span class=\"mtk12\">&quot;passport-facebook&quot;</span><span class=\"mtk1\">: </span><span class=\"mtk8\">&quot;^3.0.0&quot;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">  }</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">}</span></span></code></pre>\n<ol start=\"5\">\n<li>\n<p>After this run the following command in the terminal</p>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"\" data-index=\"3\"><code class=\"grvsc-code\"><span class=\"grvsc-line\">npm install</span></code></pre>\n</li>\n<li>Now create a file named <code>server.js</code> and paste the following code  </li>\n</ol>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"javascript\" data-index=\"4\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"mtk4\">const</span><span class=\"mtk1\"> </span><span class=\"mtk12\">express</span><span class=\"mtk1\"> = </span><span class=\"mtk11\">require</span><span class=\"mtk1\">(</span><span class=\"mtk8\">&#39;express&#39;</span><span class=\"mtk1\">);</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk4\">const</span><span class=\"mtk1\"> </span><span class=\"mtk12\">app</span><span class=\"mtk1\"> = </span><span class=\"mtk11\">express</span><span class=\"mtk1\">();</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk4\">const</span><span class=\"mtk1\"> </span><span class=\"mtk12\">session</span><span class=\"mtk1\"> = </span><span class=\"mtk11\">require</span><span class=\"mtk1\">(</span><span class=\"mtk8\">&#39;express-session&#39;</span><span class=\"mtk1\">);</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk4\">const</span><span class=\"mtk1\"> </span><span class=\"mtk12\">passport</span><span class=\"mtk1\"> = </span><span class=\"mtk11\">require</span><span class=\"mtk1\">(</span><span class=\"mtk8\">&#39;passport&#39;</span><span class=\"mtk1\">);</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk4\">const</span><span class=\"mtk1\"> </span><span class=\"mtk12\">FacebookStrategy</span><span class=\"mtk1\"> = </span><span class=\"mtk11\">require</span><span class=\"mtk1\">(</span><span class=\"mtk8\">&#39;passport-facebook&#39;</span><span class=\"mtk1\">).</span><span class=\"mtk12\">Strategy</span><span class=\"mtk1\">;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk4\">const</span><span class=\"mtk1\"> </span><span class=\"mtk12\">routes</span><span class=\"mtk1\"> = </span><span class=\"mtk11\">require</span><span class=\"mtk1\">(</span><span class=\"mtk8\">&#39;./routes.js&#39;</span><span class=\"mtk1\">);</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk4\">const</span><span class=\"mtk1\"> </span><span class=\"mtk12\">config</span><span class=\"mtk1\"> = </span><span class=\"mtk11\">require</span><span class=\"mtk1\">(</span><span class=\"mtk8\">&#39;./config&#39;</span><span class=\"mtk1\">)</span></span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\"><span class=\"mtk12\">app</span><span class=\"mtk1\">.</span><span class=\"mtk11\">set</span><span class=\"mtk1\">(</span><span class=\"mtk8\">&#39;view engine&#39;</span><span class=\"mtk1\">, </span><span class=\"mtk8\">&#39;ejs&#39;</span><span class=\"mtk1\">);</span></span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\"><span class=\"mtk12\">app</span><span class=\"mtk1\">.</span><span class=\"mtk11\">use</span><span class=\"mtk1\">(</span><span class=\"mtk11\">session</span><span class=\"mtk1\">({</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">  </span><span class=\"mtk12\">resave:</span><span class=\"mtk1\"> </span><span class=\"mtk4\">false</span><span class=\"mtk1\">,</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">  </span><span class=\"mtk12\">saveUninitialized:</span><span class=\"mtk1\"> </span><span class=\"mtk4\">true</span><span class=\"mtk1\">,</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">  </span><span class=\"mtk12\">secret:</span><span class=\"mtk1\"> </span><span class=\"mtk8\">&#39;SECRET&#39;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">}));</span></span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\"><span class=\"mtk12\">app</span><span class=\"mtk1\">.</span><span class=\"mtk11\">use</span><span class=\"mtk1\">(</span><span class=\"mtk12\">passport</span><span class=\"mtk1\">.</span><span class=\"mtk11\">initialize</span><span class=\"mtk1\">());</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk12\">app</span><span class=\"mtk1\">.</span><span class=\"mtk11\">use</span><span class=\"mtk1\">(</span><span class=\"mtk12\">passport</span><span class=\"mtk1\">.</span><span class=\"mtk11\">session</span><span class=\"mtk1\">());</span></span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\"><span class=\"mtk12\">passport</span><span class=\"mtk1\">.</span><span class=\"mtk11\">serializeUser</span><span class=\"mtk1\">(</span><span class=\"mtk4\">function</span><span class=\"mtk1\"> (</span><span class=\"mtk12\">user</span><span class=\"mtk1\">, </span><span class=\"mtk12\">cb</span><span class=\"mtk1\">) {</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">  </span><span class=\"mtk11\">cb</span><span class=\"mtk1\">(</span><span class=\"mtk4\">null</span><span class=\"mtk1\">, </span><span class=\"mtk12\">user</span><span class=\"mtk1\">);</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">});</span></span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\"><span class=\"mtk12\">passport</span><span class=\"mtk1\">.</span><span class=\"mtk11\">deserializeUser</span><span class=\"mtk1\">(</span><span class=\"mtk4\">function</span><span class=\"mtk1\"> (</span><span class=\"mtk12\">obj</span><span class=\"mtk1\">, </span><span class=\"mtk12\">cb</span><span class=\"mtk1\">) {</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">  </span><span class=\"mtk11\">cb</span><span class=\"mtk1\">(</span><span class=\"mtk4\">null</span><span class=\"mtk1\">, </span><span class=\"mtk12\">obj</span><span class=\"mtk1\">);</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">});</span></span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\"><span class=\"mtk12\">passport</span><span class=\"mtk1\">.</span><span class=\"mtk11\">use</span><span class=\"mtk1\">(</span><span class=\"mtk4\">new</span><span class=\"mtk1\"> </span><span class=\"mtk10\">FacebookStrategy</span><span class=\"mtk1\">({</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    </span><span class=\"mtk12\">clientID:</span><span class=\"mtk1\"> </span><span class=\"mtk12\">config</span><span class=\"mtk1\">.</span><span class=\"mtk12\">facebookAuth</span><span class=\"mtk1\">.</span><span class=\"mtk12\">clientID</span><span class=\"mtk1\">,</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    </span><span class=\"mtk12\">clientSecret:</span><span class=\"mtk1\"> </span><span class=\"mtk12\">config</span><span class=\"mtk1\">.</span><span class=\"mtk12\">facebookAuth</span><span class=\"mtk1\">.</span><span class=\"mtk12\">clientSecret</span><span class=\"mtk1\">,</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    </span><span class=\"mtk12\">callbackURL:</span><span class=\"mtk1\"> </span><span class=\"mtk12\">config</span><span class=\"mtk1\">.</span><span class=\"mtk12\">facebookAuth</span><span class=\"mtk1\">.</span><span class=\"mtk12\">callbackURL</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">  }, </span><span class=\"mtk4\">function</span><span class=\"mtk1\"> (</span><span class=\"mtk12\">accessToken</span><span class=\"mtk1\">, </span><span class=\"mtk12\">refreshToken</span><span class=\"mtk1\">, </span><span class=\"mtk12\">profile</span><span class=\"mtk1\">, </span><span class=\"mtk12\">done</span><span class=\"mtk1\">) {</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    </span><span class=\"mtk15\">return</span><span class=\"mtk1\"> </span><span class=\"mtk11\">done</span><span class=\"mtk1\">(</span><span class=\"mtk4\">null</span><span class=\"mtk1\">, </span><span class=\"mtk12\">profile</span><span class=\"mtk1\">);</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">  }</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">));</span></span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\"><span class=\"mtk12\">app</span><span class=\"mtk1\">.</span><span class=\"mtk11\">use</span><span class=\"mtk1\">(</span><span class=\"mtk8\">&#39;/&#39;</span><span class=\"mtk1\">, </span><span class=\"mtk12\">routes</span><span class=\"mtk1\">);</span></span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\"><span class=\"mtk4\">const</span><span class=\"mtk1\"> </span><span class=\"mtk12\">port</span><span class=\"mtk1\"> = </span><span class=\"mtk7\">3000</span><span class=\"mtk1\">;</span></span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\"><span class=\"mtk12\">app</span><span class=\"mtk1\">.</span><span class=\"mtk11\">listen</span><span class=\"mtk1\">(</span><span class=\"mtk12\">port</span><span class=\"mtk1\">, () </span><span class=\"mtk4\">=&gt;</span><span class=\"mtk1\"> {</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">  </span><span class=\"mtk10\">console</span><span class=\"mtk1\">.</span><span class=\"mtk11\">log</span><span class=\"mtk1\">(</span><span class=\"mtk8\">&#39;App listening on port &#39;</span><span class=\"mtk1\"> + </span><span class=\"mtk12\">port</span><span class=\"mtk1\">);</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">});</span></span></code></pre>\n<ol start=\"7\">\n<li>Now create a file named <code>route.js</code> in the root directory and paste the following code </li>\n</ol>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"javascript\" data-index=\"5\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"mtk4\">const</span><span class=\"mtk1\"> </span><span class=\"mtk12\">passport</span><span class=\"mtk1\"> = </span><span class=\"mtk11\">require</span><span class=\"mtk1\">(</span><span class=\"mtk8\">&#39;passport&#39;</span><span class=\"mtk1\">);</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk4\">const</span><span class=\"mtk1\"> </span><span class=\"mtk12\">express</span><span class=\"mtk1\"> = </span><span class=\"mtk11\">require</span><span class=\"mtk1\">(</span><span class=\"mtk8\">&#39;express&#39;</span><span class=\"mtk1\">);</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk4\">var</span><span class=\"mtk1\"> </span><span class=\"mtk12\">router</span><span class=\"mtk1\"> = </span><span class=\"mtk12\">express</span><span class=\"mtk1\">.</span><span class=\"mtk11\">Router</span><span class=\"mtk1\">();</span></span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\"><span class=\"mtk12\">router</span><span class=\"mtk1\">.</span><span class=\"mtk11\">get</span><span class=\"mtk1\">(</span><span class=\"mtk8\">&#39;/&#39;</span><span class=\"mtk1\">, </span><span class=\"mtk4\">function</span><span class=\"mtk1\"> (</span><span class=\"mtk12\">req</span><span class=\"mtk1\">, </span><span class=\"mtk12\">res</span><span class=\"mtk1\">) {</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">  </span><span class=\"mtk12\">res</span><span class=\"mtk1\">.</span><span class=\"mtk11\">render</span><span class=\"mtk1\">(</span><span class=\"mtk8\">&#39;pages/index.ejs&#39;</span><span class=\"mtk1\">); </span><span class=\"mtk3\">// load the index.ejs file</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">});</span></span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\"><span class=\"mtk12\">router</span><span class=\"mtk1\">.</span><span class=\"mtk11\">get</span><span class=\"mtk1\">(</span><span class=\"mtk8\">&#39;/profile&#39;</span><span class=\"mtk1\">, </span><span class=\"mtk12\">isLoggedIn</span><span class=\"mtk1\">, </span><span class=\"mtk4\">function</span><span class=\"mtk1\"> (</span><span class=\"mtk12\">req</span><span class=\"mtk1\">, </span><span class=\"mtk12\">res</span><span class=\"mtk1\">) {</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">  </span><span class=\"mtk12\">res</span><span class=\"mtk1\">.</span><span class=\"mtk11\">render</span><span class=\"mtk1\">(</span><span class=\"mtk8\">&#39;pages/profile.ejs&#39;</span><span class=\"mtk1\">, {</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    </span><span class=\"mtk12\">user:</span><span class=\"mtk1\"> </span><span class=\"mtk12\">req</span><span class=\"mtk1\">.</span><span class=\"mtk12\">user</span><span class=\"mtk1\"> </span><span class=\"mtk3\">// get the user out of session and pass to template</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">  });</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">});</span></span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\"><span class=\"mtk12\">router</span><span class=\"mtk1\">.</span><span class=\"mtk11\">get</span><span class=\"mtk1\">(</span><span class=\"mtk8\">&#39;/error&#39;</span><span class=\"mtk1\">, </span><span class=\"mtk12\">isLoggedIn</span><span class=\"mtk1\">, </span><span class=\"mtk4\">function</span><span class=\"mtk1\"> (</span><span class=\"mtk12\">req</span><span class=\"mtk1\">, </span><span class=\"mtk12\">res</span><span class=\"mtk1\">) {</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">  </span><span class=\"mtk12\">res</span><span class=\"mtk1\">.</span><span class=\"mtk11\">render</span><span class=\"mtk1\">(</span><span class=\"mtk8\">&#39;pages/error.ejs&#39;</span><span class=\"mtk1\">);</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">});</span></span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\"><span class=\"mtk12\">router</span><span class=\"mtk1\">.</span><span class=\"mtk11\">get</span><span class=\"mtk1\">(</span><span class=\"mtk8\">&#39;/auth/facebook&#39;</span><span class=\"mtk1\">, </span><span class=\"mtk12\">passport</span><span class=\"mtk1\">.</span><span class=\"mtk11\">authenticate</span><span class=\"mtk1\">(</span><span class=\"mtk8\">&#39;facebook&#39;</span><span class=\"mtk1\">, {</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">  </span><span class=\"mtk12\">scope:</span><span class=\"mtk1\"> [</span><span class=\"mtk8\">&#39;public_profile&#39;</span><span class=\"mtk1\">, </span><span class=\"mtk8\">&#39;email&#39;</span><span class=\"mtk1\">]</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">}));</span></span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\"><span class=\"mtk12\">router</span><span class=\"mtk1\">.</span><span class=\"mtk11\">get</span><span class=\"mtk1\">(</span><span class=\"mtk8\">&#39;/auth/facebook/callback&#39;</span><span class=\"mtk1\">,</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">  </span><span class=\"mtk12\">passport</span><span class=\"mtk1\">.</span><span class=\"mtk11\">authenticate</span><span class=\"mtk1\">(</span><span class=\"mtk8\">&#39;facebook&#39;</span><span class=\"mtk1\">, {</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    </span><span class=\"mtk12\">successRedirect:</span><span class=\"mtk1\"> </span><span class=\"mtk8\">&#39;/profile&#39;</span><span class=\"mtk1\">,</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    </span><span class=\"mtk12\">failureRedirect:</span><span class=\"mtk1\"> </span><span class=\"mtk8\">&#39;/error&#39;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">  }));</span></span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\"><span class=\"mtk12\">router</span><span class=\"mtk1\">.</span><span class=\"mtk11\">get</span><span class=\"mtk1\">(</span><span class=\"mtk8\">&#39;/logout&#39;</span><span class=\"mtk1\">, </span><span class=\"mtk4\">function</span><span class=\"mtk1\"> (</span><span class=\"mtk12\">req</span><span class=\"mtk1\">, </span><span class=\"mtk12\">res</span><span class=\"mtk1\">) {</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">  </span><span class=\"mtk12\">req</span><span class=\"mtk1\">.</span><span class=\"mtk11\">logout</span><span class=\"mtk1\">();</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">  </span><span class=\"mtk12\">res</span><span class=\"mtk1\">.</span><span class=\"mtk11\">redirect</span><span class=\"mtk1\">(</span><span class=\"mtk8\">&#39;/&#39;</span><span class=\"mtk1\">);</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">});</span></span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\"><span class=\"mtk4\">function</span><span class=\"mtk1\"> </span><span class=\"mtk11\">isLoggedIn</span><span class=\"mtk1\">(</span><span class=\"mtk12\">req</span><span class=\"mtk1\">, </span><span class=\"mtk12\">res</span><span class=\"mtk1\">, </span><span class=\"mtk12\">next</span><span class=\"mtk1\">) {</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">  </span><span class=\"mtk15\">if</span><span class=\"mtk1\"> (</span><span class=\"mtk12\">req</span><span class=\"mtk1\">.</span><span class=\"mtk11\">isAuthenticated</span><span class=\"mtk1\">())</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    </span><span class=\"mtk15\">return</span><span class=\"mtk1\"> </span><span class=\"mtk11\">next</span><span class=\"mtk1\">();</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">  </span><span class=\"mtk12\">res</span><span class=\"mtk1\">.</span><span class=\"mtk11\">redirect</span><span class=\"mtk1\">(</span><span class=\"mtk8\">&#39;/&#39;</span><span class=\"mtk1\">);</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">}</span></span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\"><span class=\"mtk10\">module</span><span class=\"mtk1\">.</span><span class=\"mtk10\">exports</span><span class=\"mtk1\"> = </span><span class=\"mtk12\">router</span><span class=\"mtk1\">;</span></span></code></pre>\n<ol start=\"7\">\n<li>Create a directory <code>views</code> and under this create a directory named <code>pages</code>. Under this folder create two pages named <code>profile.ejs</code> and <code>index.ejs</code></li>\n</ol>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"html\" data-index=\"6\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"mtk3\">// index.ejs</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">&lt;!</span><span class=\"mtk12\">doctype</span><span class=\"mtk1\"> </span><span class=\"mtk12\">html</span><span class=\"mtk1\">&gt;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk17\">&lt;</span><span class=\"mtk4\">html</span><span class=\"mtk17\">&gt;</span></span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\"><span class=\"mtk17\">&lt;</span><span class=\"mtk4\">head</span><span class=\"mtk17\">&gt;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">  </span><span class=\"mtk17\">&lt;</span><span class=\"mtk4\">title</span><span class=\"mtk17\">&gt;</span><span class=\"mtk1\">Facebook Node Authentication</span><span class=\"mtk17\">&lt;/</span><span class=\"mtk4\">title</span><span class=\"mtk17\">&gt;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">  </span><span class=\"mtk17\">&lt;</span><span class=\"mtk4\">link</span><span class=\"mtk1\"> </span><span class=\"mtk12\">href</span><span class=\"mtk1\">=</span><span class=\"mtk8\">&quot;https://fonts.googleapis.com/icon?family=Material+Icons&quot;</span><span class=\"mtk1\"> </span><span class=\"mtk12\">rel</span><span class=\"mtk1\">=</span><span class=\"mtk8\">&quot;stylesheet&quot;</span><span class=\"mtk17\">&gt;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">  </span><span class=\"mtk17\">&lt;</span><span class=\"mtk4\">link</span><span class=\"mtk1\"> </span><span class=\"mtk12\">rel</span><span class=\"mtk1\">=</span><span class=\"mtk8\">&quot;stylesheet&quot;</span><span class=\"mtk1\"> </span><span class=\"mtk12\">href</span><span class=\"mtk1\">=</span><span class=\"mtk8\">&quot;https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css&quot;</span><span class=\"mtk17\">&gt;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">  </span><span class=\"mtk17\">&lt;</span><span class=\"mtk4\">link</span><span class=\"mtk1\"> </span><span class=\"mtk12\">rel</span><span class=\"mtk1\">=</span><span class=\"mtk8\">&quot;stylesheet&quot;</span><span class=\"mtk1\"> </span><span class=\"mtk12\">type</span><span class=\"mtk1\">=</span><span class=\"mtk8\">&quot;text/css&quot;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    </span><span class=\"mtk12\">href</span><span class=\"mtk1\">=</span><span class=\"mtk8\">&quot;https://cdnjs.cloudflare.com/ajax/libs/materialize/0.97.5/css/materialize.min.css&quot;</span><span class=\"mtk17\">&gt;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">  </span><span class=\"mtk17\">&lt;</span><span class=\"mtk4\">style</span><span class=\"mtk17\">&gt;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    .facebook </span><span class=\"mtk4\">{</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">      </span><span class=\"mtk12\">background</span><span class=\"mtk1\">-</span><span class=\"mtk12\">color</span><span class=\"mtk1\">: #3</span><span class=\"mtk12\">b5998</span><span class=\"mtk1\"> !</span><span class=\"mtk12\">important</span><span class=\"mtk1\">;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">      </span><span class=\"mtk12\">color</span><span class=\"mtk1\">: #</span><span class=\"mtk12\">fff</span><span class=\"mtk1\"> !</span><span class=\"mtk12\">important</span><span class=\"mtk1\">;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    </span><span class=\"mtk4\">}</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    .fa-facebook-f:before,</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    .fa-facebook:before </span><span class=\"mtk4\">{</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">      </span><span class=\"mtk12\">content</span><span class=\"mtk1\">: </span><span class=\"mtk8\">&quot;</span><span class=\"mtk6\">\\f</span><span class=\"mtk8\">09a&quot;</span><span class=\"mtk1\">;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    </span><span class=\"mtk4\">}</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">  </span><span class=\"mtk17\">&lt;/</span><span class=\"mtk4\">style</span><span class=\"mtk17\">&gt;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk17\">&lt;/</span><span class=\"mtk4\">head</span><span class=\"mtk17\">&gt;</span></span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\"><span class=\"mtk17\">&lt;</span><span class=\"mtk4\">body</span><span class=\"mtk17\">&gt;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">  </span><span class=\"mtk17\">&lt;</span><span class=\"mtk4\">nav</span><span class=\"mtk1\"> </span><span class=\"mtk12\">class</span><span class=\"mtk1\">=</span><span class=\"mtk8\">&quot;light-blue lighten-1&quot;</span><span class=\"mtk1\"> </span><span class=\"mtk12\">role</span><span class=\"mtk1\">=</span><span class=\"mtk8\">&quot;navigation&quot;</span><span class=\"mtk17\">&gt;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    </span><span class=\"mtk17\">&lt;</span><span class=\"mtk4\">div</span><span class=\"mtk1\"> </span><span class=\"mtk12\">class</span><span class=\"mtk1\">=</span><span class=\"mtk8\">&quot;nav-wrapper container&quot;</span><span class=\"mtk17\">&gt;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">      </span><span class=\"mtk17\">&lt;</span><span class=\"mtk4\">a</span><span class=\"mtk1\"> </span><span class=\"mtk12\">id</span><span class=\"mtk1\">=</span><span class=\"mtk8\">&quot;logo-container&quot;</span><span class=\"mtk1\"> </span><span class=\"mtk12\">href</span><span class=\"mtk1\">=</span><span class=\"mtk8\">&quot;#&quot;</span><span class=\"mtk1\"> </span><span class=\"mtk12\">class</span><span class=\"mtk1\">=</span><span class=\"mtk8\">&quot;brand-logo&quot;</span><span class=\"mtk17\">&gt;</span><span class=\"mtk1\">Node Authentication</span><span class=\"mtk17\">&lt;/</span><span class=\"mtk4\">a</span><span class=\"mtk17\">&gt;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    </span><span class=\"mtk17\">&lt;/</span><span class=\"mtk4\">div</span><span class=\"mtk17\">&gt;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">  </span><span class=\"mtk17\">&lt;/</span><span class=\"mtk4\">nav</span><span class=\"mtk17\">&gt;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">  </span><span class=\"mtk17\">&lt;</span><span class=\"mtk4\">div</span><span class=\"mtk1\"> </span><span class=\"mtk12\">class</span><span class=\"mtk1\">=</span><span class=\"mtk8\">&quot;section no-pad-bot&quot;</span><span class=\"mtk1\"> </span><span class=\"mtk12\">id</span><span class=\"mtk1\">=</span><span class=\"mtk8\">&quot;index-banner&quot;</span><span class=\"mtk17\">&gt;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    </span><span class=\"mtk17\">&lt;</span><span class=\"mtk4\">div</span><span class=\"mtk1\"> </span><span class=\"mtk12\">class</span><span class=\"mtk1\">=</span><span class=\"mtk8\">&quot;container&quot;</span><span class=\"mtk17\">&gt;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">      </span><span class=\"mtk17\">&lt;</span><span class=\"mtk4\">br</span><span class=\"mtk17\">&gt;&lt;</span><span class=\"mtk4\">br</span><span class=\"mtk17\">&gt;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">      </span><span class=\"mtk17\">&lt;</span><span class=\"mtk4\">div</span><span class=\"mtk1\"> </span><span class=\"mtk12\">class</span><span class=\"mtk1\">=</span><span class=\"mtk8\">&quot;row center&quot;</span><span class=\"mtk17\">&gt;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">        </span><span class=\"mtk17\">&lt;</span><span class=\"mtk4\">div</span><span class=\"mtk1\"> </span><span class=\"mtk12\">class</span><span class=\"mtk1\">=</span><span class=\"mtk8\">&quot;col s6 offset-s3&quot;</span><span class=\"mtk17\">&gt;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">          </span><span class=\"mtk17\">&lt;</span><span class=\"mtk4\">div</span><span class=\"mtk1\"> </span><span class=\"mtk12\">class</span><span class=\"mtk1\">=</span><span class=\"mtk8\">&quot;card&quot;</span><span class=\"mtk17\">&gt;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">            </span><span class=\"mtk17\">&lt;</span><span class=\"mtk4\">div</span><span class=\"mtk1\"> </span><span class=\"mtk12\">class</span><span class=\"mtk1\">=</span><span class=\"mtk8\">&quot;card-content&quot;</span><span class=\"mtk17\">&gt;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">              </span><span class=\"mtk17\">&lt;</span><span class=\"mtk4\">span</span><span class=\"mtk1\"> </span><span class=\"mtk12\">class</span><span class=\"mtk1\">=</span><span class=\"mtk8\">&quot;card-title&quot;</span><span class=\"mtk17\">&gt;</span><span class=\"mtk1\">Facebook Login using Node and passport</span><span class=\"mtk17\">&lt;/</span><span class=\"mtk4\">span</span><span class=\"mtk17\">&gt;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">            </span><span class=\"mtk17\">&lt;/</span><span class=\"mtk4\">div</span><span class=\"mtk17\">&gt;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">            </span><span class=\"mtk17\">&lt;</span><span class=\"mtk4\">div</span><span class=\"mtk1\"> </span><span class=\"mtk12\">class</span><span class=\"mtk1\">=</span><span class=\"mtk8\">&quot;card-action&quot;</span><span class=\"mtk17\">&gt;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">              </span><span class=\"mtk17\">&lt;</span><span class=\"mtk4\">a</span><span class=\"mtk1\"> </span><span class=\"mtk12\">href</span><span class=\"mtk1\">=</span><span class=\"mtk8\">&quot;/auth/facebook&quot;</span><span class=\"mtk1\"> </span><span class=\"mtk12\">class</span><span class=\"mtk1\">=</span><span class=\"mtk8\">&quot;waves-effect waves-light btn social facebook&quot;</span><span class=\"mtk17\">&gt;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">                </span><span class=\"mtk17\">&lt;</span><span class=\"mtk4\">i</span><span class=\"mtk1\"> </span><span class=\"mtk12\">class</span><span class=\"mtk1\">=</span><span class=\"mtk8\">&quot;fa fa-facebook&quot;</span><span class=\"mtk17\">&gt;&lt;/</span><span class=\"mtk4\">i</span><span class=\"mtk17\">&gt;</span><span class=\"mtk1\"> Sign in with facebook</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">              </span><span class=\"mtk17\">&lt;/</span><span class=\"mtk4\">a</span><span class=\"mtk17\">&gt;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">            </span><span class=\"mtk17\">&lt;/</span><span class=\"mtk4\">div</span><span class=\"mtk17\">&gt;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">          </span><span class=\"mtk17\">&lt;/</span><span class=\"mtk4\">div</span><span class=\"mtk17\">&gt;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">        </span><span class=\"mtk17\">&lt;/</span><span class=\"mtk4\">div</span><span class=\"mtk17\">&gt;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">      </span><span class=\"mtk17\">&lt;/</span><span class=\"mtk4\">div</span><span class=\"mtk17\">&gt;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    </span><span class=\"mtk17\">&lt;/</span><span class=\"mtk4\">div</span><span class=\"mtk17\">&gt;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">  </span><span class=\"mtk17\">&lt;/</span><span class=\"mtk4\">div</span><span class=\"mtk17\">&gt;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk17\">&lt;/</span><span class=\"mtk4\">body</span><span class=\"mtk17\">&gt;</span></span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\"><span class=\"mtk17\">&lt;/</span><span class=\"mtk4\">html</span><span class=\"mtk17\">&gt;</span></span></code></pre>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"html\" data-index=\"7\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"mtk1\">&lt;!- </span><span class=\"mtk12\">profile</span><span class=\"mtk1\">.</span><span class=\"mtk12\">ejs</span><span class=\"mtk1\">-&gt;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">&lt;!</span><span class=\"mtk12\">doctype</span><span class=\"mtk1\"> </span><span class=\"mtk12\">html</span><span class=\"mtk1\">&gt;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk17\">&lt;</span><span class=\"mtk4\">html</span><span class=\"mtk17\">&gt;</span></span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\"><span class=\"mtk17\">&lt;</span><span class=\"mtk4\">head</span><span class=\"mtk17\">&gt;</span><span class=\"mtk1\">  </span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">  </span><span class=\"mtk17\">&lt;</span><span class=\"mtk4\">title</span><span class=\"mtk17\">&gt;</span><span class=\"mtk1\">Facebook Node Authentication</span><span class=\"mtk17\">&lt;/</span><span class=\"mtk4\">title</span><span class=\"mtk17\">&gt;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">  </span><span class=\"mtk17\">&lt;</span><span class=\"mtk4\">link</span><span class=\"mtk1\"> </span><span class=\"mtk12\">href</span><span class=\"mtk1\">=</span><span class=\"mtk8\">&quot;https://fonts.googleapis.com/icon?family=Material+Icons&quot;</span><span class=\"mtk1\"> </span><span class=\"mtk12\">rel</span><span class=\"mtk1\">=</span><span class=\"mtk8\">&quot;stylesheet&quot;</span><span class=\"mtk17\">&gt;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">  </span><span class=\"mtk17\">&lt;</span><span class=\"mtk4\">link</span><span class=\"mtk1\"> </span><span class=\"mtk12\">rel</span><span class=\"mtk1\">=</span><span class=\"mtk8\">&quot;stylesheet&quot;</span><span class=\"mtk1\"> </span><span class=\"mtk12\">type</span><span class=\"mtk1\">=</span><span class=\"mtk8\">&quot;text/css&quot;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    </span><span class=\"mtk12\">href</span><span class=\"mtk1\">=</span><span class=\"mtk8\">&quot;https://cdnjs.cloudflare.com/ajax/libs/materialize/0.97.5/css/materialize.min.css&quot;</span><span class=\"mtk17\">&gt;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">  </span><span class=\"mtk17\">&lt;</span><span class=\"mtk4\">style</span><span class=\"mtk17\">&gt;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    .card:hover </span><span class=\"mtk4\">{</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">      </span><span class=\"mtk12\">box</span><span class=\"mtk1\">-</span><span class=\"mtk12\">shadow</span><span class=\"mtk1\">: </span><span class=\"mtk7\">0</span><span class=\"mtk1\"> 10</span><span class=\"mtk12\">px</span><span class=\"mtk1\"> 20</span><span class=\"mtk12\">px</span><span class=\"mtk1\"> </span><span class=\"mtk11\">rgba</span><span class=\"mtk1\">(</span><span class=\"mtk7\">0</span><span class=\"mtk1\">, </span><span class=\"mtk7\">0</span><span class=\"mtk1\">, </span><span class=\"mtk7\">0</span><span class=\"mtk1\">, </span><span class=\"mtk7\">0.19</span><span class=\"mtk1\">), </span><span class=\"mtk7\">0</span><span class=\"mtk1\"> 6</span><span class=\"mtk12\">px</span><span class=\"mtk1\"> 6</span><span class=\"mtk12\">px</span><span class=\"mtk1\"> </span><span class=\"mtk11\">rgba</span><span class=\"mtk1\">(</span><span class=\"mtk7\">0</span><span class=\"mtk1\">, </span><span class=\"mtk7\">0</span><span class=\"mtk1\">, </span><span class=\"mtk7\">0</span><span class=\"mtk1\">, </span><span class=\"mtk7\">0.23</span><span class=\"mtk1\">);</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">      </span><span class=\"mtk12\">margin</span><span class=\"mtk1\">-</span><span class=\"mtk12\">bottom</span><span class=\"mtk1\">: 54</span><span class=\"mtk12\">px</span><span class=\"mtk1\">;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    </span><span class=\"mtk4\">}</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">  </span><span class=\"mtk17\">&lt;/</span><span class=\"mtk4\">style</span><span class=\"mtk17\">&gt;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk17\">&lt;/</span><span class=\"mtk4\">head</span><span class=\"mtk17\">&gt;</span></span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\"><span class=\"mtk17\">&lt;</span><span class=\"mtk4\">body</span><span class=\"mtk17\">&gt;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">  </span><span class=\"mtk17\">&lt;</span><span class=\"mtk4\">nav</span><span class=\"mtk1\"> </span><span class=\"mtk12\">class</span><span class=\"mtk1\">=</span><span class=\"mtk8\">&quot;light-blue lighten-1&quot;</span><span class=\"mtk1\"> </span><span class=\"mtk12\">role</span><span class=\"mtk1\">=</span><span class=\"mtk8\">&quot;navigation&quot;</span><span class=\"mtk17\">&gt;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    </span><span class=\"mtk17\">&lt;</span><span class=\"mtk4\">div</span><span class=\"mtk1\"> </span><span class=\"mtk12\">class</span><span class=\"mtk1\">=</span><span class=\"mtk8\">&quot;nav-wrapper container&quot;</span><span class=\"mtk17\">&gt;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">      </span><span class=\"mtk17\">&lt;</span><span class=\"mtk4\">a</span><span class=\"mtk1\"> </span><span class=\"mtk12\">id</span><span class=\"mtk1\">=</span><span class=\"mtk8\">&quot;logo-container&quot;</span><span class=\"mtk1\"> </span><span class=\"mtk12\">href</span><span class=\"mtk1\">=</span><span class=\"mtk8\">&quot;#&quot;</span><span class=\"mtk1\"> </span><span class=\"mtk12\">class</span><span class=\"mtk1\">=</span><span class=\"mtk8\">&quot;brand-logo&quot;</span><span class=\"mtk17\">&gt;</span><span class=\"mtk1\">Node Authentication</span><span class=\"mtk17\">&lt;/</span><span class=\"mtk4\">a</span><span class=\"mtk17\">&gt;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">      </span><span class=\"mtk17\">&lt;</span><span class=\"mtk4\">a</span><span class=\"mtk1\"> </span><span class=\"mtk12\">href</span><span class=\"mtk1\">=</span><span class=\"mtk8\">&quot;/logout&quot;</span><span class=\"mtk1\"> </span><span class=\"mtk12\">class</span><span class=\"mtk1\">=</span><span class=\"mtk8\">&quot;right&quot;</span><span class=\"mtk17\">&gt;</span><span class=\"mtk1\">Logout</span><span class=\"mtk17\">&lt;/</span><span class=\"mtk4\">a</span><span class=\"mtk17\">&gt;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    </span><span class=\"mtk17\">&lt;/</span><span class=\"mtk4\">div</span><span class=\"mtk17\">&gt;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">  </span><span class=\"mtk17\">&lt;/</span><span class=\"mtk4\">nav</span><span class=\"mtk17\">&gt;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">  </span><span class=\"mtk17\">&lt;</span><span class=\"mtk4\">div</span><span class=\"mtk1\"> </span><span class=\"mtk12\">class</span><span class=\"mtk1\">=</span><span class=\"mtk8\">&quot;section no-pad-bot&quot;</span><span class=\"mtk1\"> </span><span class=\"mtk12\">id</span><span class=\"mtk1\">=</span><span class=\"mtk8\">&quot;index-banner&quot;</span><span class=\"mtk17\">&gt;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    </span><span class=\"mtk17\">&lt;</span><span class=\"mtk4\">div</span><span class=\"mtk1\"> </span><span class=\"mtk12\">class</span><span class=\"mtk1\">=</span><span class=\"mtk8\">&quot;container&quot;</span><span class=\"mtk17\">&gt;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">      </span><span class=\"mtk17\">&lt;</span><span class=\"mtk4\">br</span><span class=\"mtk17\">&gt;&lt;</span><span class=\"mtk4\">br</span><span class=\"mtk17\">&gt;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">      </span><span class=\"mtk17\">&lt;</span><span class=\"mtk4\">div</span><span class=\"mtk1\"> </span><span class=\"mtk12\">class</span><span class=\"mtk1\">=</span><span class=\"mtk8\">&quot;row center&quot;</span><span class=\"mtk17\">&gt;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">        </span><span class=\"mtk17\">&lt;</span><span class=\"mtk4\">div</span><span class=\"mtk1\"> </span><span class=\"mtk12\">class</span><span class=\"mtk1\">=</span><span class=\"mtk8\">&quot;col s12&quot;</span><span class=\"mtk17\">&gt;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">          </span><span class=\"mtk17\">&lt;</span><span class=\"mtk4\">div</span><span class=\"mtk1\"> </span><span class=\"mtk12\">class</span><span class=\"mtk1\">=</span><span class=\"mtk8\">&quot;card&quot;</span><span class=\"mtk17\">&gt;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">            </span><span class=\"mtk17\">&lt;</span><span class=\"mtk4\">div</span><span class=\"mtk1\"> </span><span class=\"mtk12\">class</span><span class=\"mtk1\">=</span><span class=\"mtk8\">&quot;card-content blue lighten-3&quot;</span><span class=\"mtk17\">&gt;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">              </span><span class=\"mtk17\">&lt;</span><span class=\"mtk4\">span</span><span class=\"mtk1\"> </span><span class=\"mtk12\">class</span><span class=\"mtk1\">=</span><span class=\"mtk8\">&quot;card-title white-text&quot;</span><span class=\"mtk17\">&gt;&lt;</span><span class=\"mtk4\">strong</span><span class=\"mtk17\">&gt;&lt;</span><span class=\"mtk4\">i</span><span class=\"mtk1\"> </span><span class=\"mtk12\">class</span><span class=\"mtk1\">=</span><span class=\"mtk8\">&quot;large material-icons&quot;</span><span class=\"mtk17\">&gt;</span><span class=\"mtk1\">person</span><span class=\"mtk17\">&lt;/</span><span class=\"mtk4\">i</span><span class=\"mtk17\">&gt;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">                </span><span class=\"mtk17\">&lt;/</span><span class=\"mtk4\">strong</span><span class=\"mtk17\">&gt;&lt;/</span><span class=\"mtk4\">span</span><span class=\"mtk17\">&gt;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">            </span><span class=\"mtk17\">&lt;/</span><span class=\"mtk4\">div</span><span class=\"mtk17\">&gt;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">            </span><span class=\"mtk17\">&lt;</span><span class=\"mtk4\">div</span><span class=\"mtk1\"> </span><span class=\"mtk12\">class</span><span class=\"mtk1\">=</span><span class=\"mtk8\">&quot;card-action&quot;</span><span class=\"mtk17\">&gt;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">              </span><span class=\"mtk17\">&lt;</span><span class=\"mtk4\">h5</span><span class=\"mtk17\">&gt;&lt;</span><span class=\"mtk4\">b</span><span class=\"mtk17\">&gt;</span><span class=\"mtk1\">&lt;%= user.displayName %&gt;</span><span class=\"mtk17\">&lt;/</span><span class=\"mtk4\">b</span><span class=\"mtk17\">&gt;&lt;/</span><span class=\"mtk4\">h5</span><span class=\"mtk17\">&gt;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">              </span><span class=\"mtk17\">&lt;</span><span class=\"mtk4\">p</span><span class=\"mtk17\">&gt;&lt;</span><span class=\"mtk4\">strong</span><span class=\"mtk17\">&gt;</span><span class=\"mtk1\">Facebook id</span><span class=\"mtk17\">&lt;/</span><span class=\"mtk4\">strong</span><span class=\"mtk17\">&gt;</span><span class=\"mtk1\">: &lt;%= user.id %&gt;</span><span class=\"mtk17\">&lt;/</span><span class=\"mtk4\">p</span><span class=\"mtk17\">&gt;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">            </span><span class=\"mtk17\">&lt;/</span><span class=\"mtk4\">div</span><span class=\"mtk17\">&gt;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">          </span><span class=\"mtk17\">&lt;/</span><span class=\"mtk4\">div</span><span class=\"mtk17\">&gt;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">        </span><span class=\"mtk17\">&lt;/</span><span class=\"mtk4\">div</span><span class=\"mtk17\">&gt;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">      </span><span class=\"mtk17\">&lt;/</span><span class=\"mtk4\">div</span><span class=\"mtk17\">&gt;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    </span><span class=\"mtk17\">&lt;/</span><span class=\"mtk4\">div</span><span class=\"mtk17\">&gt;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">  </span><span class=\"mtk17\">&lt;/</span><span class=\"mtk4\">div</span><span class=\"mtk17\">&gt;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk17\">&lt;/</span><span class=\"mtk4\">body</span><span class=\"mtk17\">&gt;</span></span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\"><span class=\"mtk17\">&lt;/</span><span class=\"mtk4\">html</span><span class=\"mtk17\">&gt;</span></span></code></pre>\n<ol start=\"8\">\n<li>Finally, when you are done with the above code you can now write all your app details gathered in <em>step 1</em> to <code>config.js</code> file created in the root directory</li>\n</ol>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"js\" data-index=\"8\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"mtk10\">module</span><span class=\"mtk1\">.</span><span class=\"mtk10\">exports</span><span class=\"mtk1\"> = {</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">\t</span><span class=\"mtk8\">&#39;facebookAuth&#39;</span><span class=\"mtk12\">:</span><span class=\"mtk1\"> {</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">\t\t</span><span class=\"mtk8\">&#39;clientID&#39;</span><span class=\"mtk12\">:</span><span class=\"mtk1\">  </span><span class=\"mtk8\">&#39;&lt;APP_ID&gt;&#39;</span><span class=\"mtk1\">, </span><span class=\"mtk3\">// your App ID</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">\t\t</span><span class=\"mtk8\">&#39;clientSecret&#39;</span><span class=\"mtk12\">:</span><span class=\"mtk1\">  </span><span class=\"mtk8\">&#39;&lt;APP_SECRET&gt;&#39;</span><span class=\"mtk1\">, </span><span class=\"mtk3\">// your App Secret</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">\t\t</span><span class=\"mtk8\">&#39;callbackURL&#39;</span><span class=\"mtk12\">:</span><span class=\"mtk1\">  </span><span class=\"mtk8\">&#39;http://localhost:3000/auth/facebook/callback&#39;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">\t}</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">}</span></span></code></pre>\n<ol start=\"9\">\n<li>Let's have a final check with the repository, aftre follwoing all the steps in the same pordr the directory structure of your code will look like below:  </li>\n</ol>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"\" data-index=\"9\"><code class=\"grvsc-code\"><span class=\"grvsc-line\">// Final directory structure</span>\n<span class=\"grvsc-line\">facebook-node-authentication/</span>\n<span class=\"grvsc-line\">  --|node_modules</span>\n<span class=\"grvsc-line\">  --|views/</span>\n<span class=\"grvsc-line\">    |--|pages/</span>\n<span class=\"grvsc-line\">    |----|error.ejs</span>\n<span class=\"grvsc-line\">    |----|profile.ejs</span>\n<span class=\"grvsc-line\">    |----|index.ejs</span>\n<span class=\"grvsc-line\">  --|config.js</span>\n<span class=\"grvsc-line\">  --|package.json</span>\n<span class=\"grvsc-line\">  --|package-lock.json</span>\n<span class=\"grvsc-line\">  --|routes.js</span>\n<span class=\"grvsc-line\">  --|server.js</span></code></pre>\n<ol start=\"10\">\n<li>Now run the server by executing below command in the directory <code>facebook-node-authentication/</code></li>\n</ol>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"\" data-index=\"10\"><code class=\"grvsc-code\"><span class=\"grvsc-line\">npm start</span></code></pre>\n<ol start=\"8\">\n<li>Visit the browser with the URL <code>http://localhost:3000</code></li>\n</ol>\n<p>  <span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 768px; \"\n    >\n      <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 46.15384615384615%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAJCAYAAAAywQxIAAAACXBIWXMAABJ0AAASdAHeZh94AAAAr0lEQVQoz62PQQvCMAyF+6c3vQmi/8mzdzdR2byIiEM86HVzs+kzXTcsXYse9uBrQ14SEhEnJSJmmpaY7yssmCUz21WIU0OUGHQ80bmux4dAUAqgmn/JUAfH1BgvICGVQg9ZvCXhVTe43J7IT3dkzLl4tDntSfr22QjFj4uWlLwNx9uswGqdM0dsDtfW115f5/YOTnYLfb5dMzg5NMzOERncvG/ozw1D/LXhGBp94AekLbm4NdJbmAAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"Facebook login home page\"\n        title=\"Facebook login home page\"\n        src=\"/static/bf73f09981c4636ba008d1465a9e300e/e5715/facebook-login-home-page.png\"\n        srcset=\"/static/bf73f09981c4636ba008d1465a9e300e/a6d36/facebook-login-home-page.png 650w,\n/static/bf73f09981c4636ba008d1465a9e300e/e5715/facebook-login-home-page.png 768w,\n/static/bf73f09981c4636ba008d1465a9e300e/09262/facebook-login-home-page.png 1896w\"\n        sizes=\"(max-width: 768px) 100vw, 768px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n    </span></p>\n<p>  <span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 768px; \"\n    >\n      <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 41.69230769230769%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAICAYAAAD5nd/tAAAACXBIWXMAABJ0AAASdAHeZh94AAABAElEQVQoz6WRzU/CQBDF+2drIhg4GuPJk/+MH5z8IEIhNsSrWIXY4EF225nd58y2JWuDXpzkl/eamX2dbZPDxy0OhKOJwVlmcZqpGpw8GfRTg+O01tZ3Gc4MelMTMjQrQVveY5rTjlSYvxFmQvZeo37eQWdt5XYxCTkfzOqLMRwZDEZW1AZV+jcW52PCxYSDH0Q9netdG2RrChmalXhfBxp5y8MrCdwgPmfcLytcPW9wuShw+1JinPOPubslodhyc0kJ1Kv68KBre3TLU4nNxwqfxRpcGuwtOVvvFW2oWhEJHEEgUSc9/TLEvHfGORdt2JjfSnsxf82FnxJv+B/ajG+dFVqB8Uo7cAAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"Facebook login profile page\"\n        title=\"Facebook login profile page\"\n        src=\"/static/dab8d0cb32e6834ad50853c3f3ddcd7b/e5715/Profile-page-facebook-login.png\"\n        srcset=\"/static/dab8d0cb32e6834ad50853c3f3ddcd7b/a6d36/Profile-page-facebook-login.png 650w,\n/static/dab8d0cb32e6834ad50853c3f3ddcd7b/e5715/Profile-page-facebook-login.png 768w,\n/static/dab8d0cb32e6834ad50853c3f3ddcd7b/81ebd/Profile-page-facebook-login.png 1868w\"\n        sizes=\"(max-width: 768px) 100vw, 768px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n    </span></p>\n<p> You can found the complete code used in this tutorial on our <a href=\"https://github.com/LoginRadius/engineering-blog-samples/tree/master/NodeJs/FacebookAuthenticationPassport\">Github Repo</a></p>\n<style class=\"grvsc-styles\">\n  .grvsc-container {\n    overflow: auto;\n    -webkit-overflow-scrolling: touch;\n    padding-top: 1rem;\n    padding-top: var(--grvsc-padding-top, var(--grvsc-padding-v, 1rem));\n    padding-bottom: 1rem;\n    padding-bottom: var(--grvsc-padding-bottom, var(--grvsc-padding-v, 1rem));\n    border-radius: 8px;\n    border-radius: var(--grvsc-border-radius, 8px);\n    font-feature-settings: normal;\n  }\n  \n  .grvsc-code {\n    display: inline-block;\n    min-width: 100%;\n  }\n  \n  .grvsc-line {\n    display: inline-block;\n    box-sizing: border-box;\n    width: 100%;\n    padding-left: 1.5rem;\n    padding-left: var(--grvsc-padding-left, var(--grvsc-padding-h, 1.5rem));\n    padding-right: 1.5rem;\n    padding-right: var(--grvsc-padding-right, var(--grvsc-padding-h, 1.5rem));\n  }\n  \n  .grvsc-line-highlighted {\n    background-color: var(--grvsc-line-highlighted-background-color, transparent);\n    box-shadow: inset var(--grvsc-line-highlighted-border-width, 4px) 0 0 0 var(--grvsc-line-highlighted-border-color, transparent);\n  }\n  \n  .dark-default-dark {\n    background-color: #1E1E1E;\n    color: #D4D4D4;\n  }\n  .dark-default-dark .mtk1 { color: #D4D4D4; }\n  .dark-default-dark .mtk12 { color: #9CDCFE; }\n  .dark-default-dark .mtk8 { color: #CE9178; }\n  .dark-default-dark .mtk6 { color: #D7BA7D; }\n  .dark-default-dark .mtk4 { color: #569CD6; }\n  .dark-default-dark .mtk11 { color: #DCDCAA; }\n  .dark-default-dark .mtk10 { color: #4EC9B0; }\n  .dark-default-dark .mtk15 { color: #C586C0; }\n  .dark-default-dark .mtk7 { color: #B5CEA8; }\n  .dark-default-dark .mtk3 { color: #6A9955; }\n  .dark-default-dark .mtk17 { color: #808080; }\n</style>","frontmatter":{"date":"June 01, 2020","updated_date":null,"description":null,"title":"Facebook authentication using NodeJS and PassportJS","tags":["Facebook","NodeJs","Authentication","PassportJS"],"pinned":null,"coverImage":{"childImageSharp":{"fluid":{"aspectRatio":1.7699115044247788,"src":"/static/e5b200d627ef5a68314069ffe94b984f/ee604/facebook_node_passport.png","srcSet":"/static/e5b200d627ef5a68314069ffe94b984f/69585/facebook_node_passport.png 200w,\n/static/e5b200d627ef5a68314069ffe94b984f/497c6/facebook_node_passport.png 400w,\n/static/e5b200d627ef5a68314069ffe94b984f/ee604/facebook_node_passport.png 800w,\n/static/e5b200d627ef5a68314069ffe94b984f/f3583/facebook_node_passport.png 1200w,\n/static/e5b200d627ef5a68314069ffe94b984f/e4d72/facebook_node_passport.png 1280w","sizes":"(max-width: 800px) 100vw, 800px"}}},"author":{"id":"Aman Agrawal","github":"aman-agrwl","avatar":null}}}},{"node":{"excerpt":"When the foundation of the General Data Protection Regulation (GDPR) was officially laid out, it prompted a rising need for organizations…","fields":{"slug":"/identity/consent-management/"},"html":"<p>When the foundation of the General Data Protection Regulation (GDPR) was officially laid out, it prompted a rising need for organizations running on <a href=\"https://www.loginradius.com/blog/2019/06/customer-identity-and-access-management/\">Customer Identity &#x26; Access Management</a> (CIAM) solutions to re-consider their security arrangements. </p>\n<p>To complement, LoginRadius introduces its Consent Management feature that offers a secure platform to support the European Union's <a href=\"https://www.loginradius.com/gdpr-and-privacy/\">GDPR compliance capabilities</a>.</p>\n<h2 id=\"intend-behind-the-launch\" style=\"position:relative;\"><a href=\"#intend-behind-the-launch\" aria-label=\"intend behind the launch permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Intend Behind The Launch</h2>\n<p>Customer data is at the epicenter of brand engagements today. With customer expectations dramatically shifting over the last couple of years, individuals demand customization and more control while interacting with brands online. </p>\n<p>GDPR exposed the world to a whole lot of data security concerns ranging from how to collect, store, get consent, and use personal information. The aim was to provide mutual benefits for companies and end-users by building stronger trust relationships.</p>\n<p>LoginRadius Consent Management will help companies and their security professionals understand the core mechanism of GDPR requirements and improve customer experience in the process. </p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 768px; \"\n    >\n      <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 52.615384615384606%; position: relative; bottom: 0; left: 0; background-image: url('data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAALABQDASIAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAAIFAf/EABYBAQEBAAAAAAAAAAAAAAAAAAACA//aAAwDAQACEAMQAAABsa7k4cvP/8QAGxAAAgEFAAAAAAAAAAAAAAAAAQIAAxAREiH/2gAIAQEAAQUCFOawHMVQtm43/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPwE//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPwE//8QAGxAAAQQDAAAAAAAAAAAAAAAAAAEQQZERITH/2gAIAQEABj8C7aEURRplwf/EABoQAQEBAAMBAAAAAAAAAAAAAAERABAhcUH/2gAIAQEAAT8hgfXhrO7mKpgeGXiAADzf/9oADAMBAAIAAwAAABBzz//EABYRAQEBAAAAAAAAAAAAAAAAAAEAEf/aAAgBAwEBPxCFDFv/xAAXEQADAQAAAAAAAAAAAAAAAAAAARFB/9oACAECAQE/EBx4f//EABwQAQADAAIDAAAAAAAAAAAAAAEAESExUXGhsf/aAAgBAQABPxBKzzOfQSopQ2qEa5kzgRhTq0tfsdKYRqHAHU//2Q=='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"LoginRadius Dashboard Consent Management\"\n        title=\"LoginRadius Dashboard Consent Management\"\n        src=\"/static/40f0dad23edd85b297bc23833dd162b3/212bf/LoginRadius-Dashboard-Consent-Management.jpg\"\n        srcset=\"/static/40f0dad23edd85b297bc23833dd162b3/6aca1/LoginRadius-Dashboard-Consent-Management.jpg 650w,\n/static/40f0dad23edd85b297bc23833dd162b3/212bf/LoginRadius-Dashboard-Consent-Management.jpg 768w,\n/static/40f0dad23edd85b297bc23833dd162b3/72e01/LoginRadius-Dashboard-Consent-Management.jpg 1024w\"\n        sizes=\"(max-width: 768px) 100vw, 768px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n    </span></p>\n<h2 id=\"key-features-of-the-loginradius-consent-management-to-meet-the-eus-gdpr\" style=\"position:relative;\"><a href=\"#key-features-of-the-loginradius-consent-management-to-meet-the-eus-gdpr\" aria-label=\"key features of the loginradius consent management to meet the eus gdpr permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Key Features of the LoginRadius Consent Management to Meet the EU's GDPR </h2>\n<ul>\n<li>It offers scoped access, encryption of data in transit and at rest, data backup, and a tested BCDR plan audited by independent third parties regularly. </li>\n<li>Our certifications include ISO 27001 and 27018, Service Organization Controls (SOC) 2 Type II, ISO 27001:2013, and EU-US Privacy Shield framework. </li>\n<li>\n<p>It allows the flexibility to perform every action of the consent lifecycle with ease, including:</p>\n<ul>\n<li>Creating, updating, and revocating custom consent forms. </li>\n<li>Scheduling consents forms and activating them at a future timestamp.</li>\n<li>Cloning consent form to create and replicate data.</li>\n<li>Offering user-friendly event-based experience for new and existing users.</li>\n</ul>\n</li>\n<li>Our platform enables easy deployment of consent forms via sequential steps with minimal custom code using our Identity Experience Framework and JavaScript Library.</li>\n<li>Customers own the right to grant consent, reject, access, withdraw, and modify data, along with portability and erasure in a transparent, freely given, clear, specific, informed, and unambiguous manner. </li>\n<li>It offers a single API for viewing and managing customer data across all systems, with a unified rich user profile. </li>\n<li>Our consent repository is designed as a secure database and a single source of truth for all data processing based on customers’ consent.</li>\n<li>It supports language localization for better and personalized communication.</li>\n</ul>\n<p><a href=\"https://www.loginradius.com/resource/loginradius-consent-management/\"><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 768px; \"\n    >\n      <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 30.307692307692307%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAGCAYAAADDl76dAAAACXBIWXMAAAsTAAALEwEAmpwYAAABgElEQVQY0z1QS0tCQRi9bfR6U0GFJPFBZOY7S6/5ft3UShEsKCpok4ty06KFi1oEBdUiCPoD7YKCIBAiCNsVFEGbtoGItOoBgrU7zZ20gcN838yZc858jMwSgQhuOAq5NUbRS2qO4u+uC9YcAudIQcUXoHalILOnwFrjkA2FwXY4TFdM7RagsMWJYBRKRwIaTwZaPgelPQGWPBB50sEgOFcaRmEJdmEOLF+ExJkBS86pIeExXXfDeB58fhkDIeLuToOzJqBwCkQ8Cak5DI5w+n1TMAby0Hmz0PHT0PsmYQrkoPfnaBgq2HW3xGcQnS0hXFyBJ7sIIzEwBAtQuYT/hOKuGZmAlghqx7LoEzGagdwWg7TDoQklZDYXVzV8fH7htd5AvdFEo/mGd9JHiAlj5NFj8mN9+xAPzy84vbzGyXmVonb3iLPqDR2ZhHydEb8iFrf3TxBXq9VCu93Gz/c37ZPzq2D0XsoRFsqo7B2jvHWAtc19io2dI5Qqu3TWUhLsF4gl36SDf84cAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"Loginraidus consent management datasheet\"\n        title=\"Loginraidus consent management datasheet\"\n        src=\"/static/dff7f4df9f54fc845d93d2cbfd3a8f34/e5715/DS-Consent-Management-1024x310.png\"\n        srcset=\"/static/dff7f4df9f54fc845d93d2cbfd3a8f34/a6d36/DS-Consent-Management-1024x310.png 650w,\n/static/dff7f4df9f54fc845d93d2cbfd3a8f34/e5715/DS-Consent-Management-1024x310.png 768w,\n/static/dff7f4df9f54fc845d93d2cbfd3a8f34/2bef9/DS-Consent-Management-1024x310.png 1024w\"\n        sizes=\"(max-width: 768px) 100vw, 768px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n    </span></a></p>\n<h2 id=\"a-final-word\" style=\"position:relative;\"><a href=\"#a-final-word\" aria-label=\"a final word permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>A Final Word</h2>\n<p>LoginRadius Consent Management is an effort from the cloud-based CIAM solution provider to accelerate the path to compliance. Rest assured, companies can steer clear of GDPR-related fines that can otherwise be devastating even for the world's biggest companies. </p>\n<p>In addition to the GDPR, the LoginRadius Platform is also compliant with other international data privacy <a href=\"https://www.loginradius.com/blog/identity/how-loginradius-helps-enterprises-stay-ccpa-compliant-in-2020/\">standards like the CCPA</a>, NIST, and HIPPA.</p>\n<p><a href=\"https://www.loginradius.com/book-a-demo/\"><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 768px; \"\n    >\n      <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 30.307692307692307%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAGCAYAAADDl76dAAAACXBIWXMAAAsSAAALEgHS3X78AAABdElEQVQY002RO0/CUBzFG6PtbZWHCAmRmBB5P8vDII9SSC0omog4oAEGjZMO6OKEuLjoJ2Fx0cSBwUQnXZxcHPwux38LJA7nNvfec8+5v1tOCCiwpbbhye2BxbYgBMtgIRVioDRRsARGXxZUzLlEHmehBaesQ4rrEMPViYf2DR9nDGKkChbVICVqsMt1WJI1sHCFwhUsUIFohJH49TxECvRUjhDW2mAbB5iP6hB8hUkhiRPN5KIZYJdrsEYrcCSpmQqMm6/m9ylUhSulY7N5ivROB3L9GOlGF3Ktbc4zuz341UPw/uIk0ESbBjoSGlYIx8BfzjSwVmyCEYEUUmCPa3Bnd+hwC75yC95S05SxbolU/iEbOCFCpDexEfIioTNCNd6Tp6IlMnNuGeeDe3z//OLx5RWj5zFGT2O8fXxh/P4Ja6w6vSEFCnTIlW2YiDzhzX7ATFKojDlvjpBPcDF4QPdyiG5/iE7/BmfXd+hd3VKpCoG8fzxWw2+c+yTpAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"book-free-demo-loginradius\"\n        title=\"book-free-demo-loginradius\"\n        src=\"/static/fcc4c4b5dc38cc4528f99d09480f4eb2/e5715/book-a-demo-loginradius.png\"\n        srcset=\"/static/fcc4c4b5dc38cc4528f99d09480f4eb2/a6d36/book-a-demo-loginradius.png 650w,\n/static/fcc4c4b5dc38cc4528f99d09480f4eb2/e5715/book-a-demo-loginradius.png 768w,\n/static/fcc4c4b5dc38cc4528f99d09480f4eb2/63ff0/book-a-demo-loginradius.png 2887w\"\n        sizes=\"(max-width: 768px) 100vw, 768px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n    </span></a></p>\n<style class=\"grvsc-styles\">\n  .grvsc-container {\n    overflow: auto;\n    -webkit-overflow-scrolling: touch;\n    padding-top: 1rem;\n    padding-top: var(--grvsc-padding-top, var(--grvsc-padding-v, 1rem));\n    padding-bottom: 1rem;\n    padding-bottom: var(--grvsc-padding-bottom, var(--grvsc-padding-v, 1rem));\n    border-radius: 8px;\n    border-radius: var(--grvsc-border-radius, 8px);\n    font-feature-settings: normal;\n  }\n  \n  .grvsc-code {\n    display: inline-block;\n    min-width: 100%;\n  }\n  \n  .grvsc-line {\n    display: inline-block;\n    box-sizing: border-box;\n    width: 100%;\n    padding-left: 1.5rem;\n    padding-left: var(--grvsc-padding-left, var(--grvsc-padding-h, 1.5rem));\n    padding-right: 1.5rem;\n    padding-right: var(--grvsc-padding-right, var(--grvsc-padding-h, 1.5rem));\n  }\n  \n  .grvsc-line-highlighted {\n    background-color: var(--grvsc-line-highlighted-background-color, transparent);\n    box-shadow: inset var(--grvsc-line-highlighted-border-width, 4px) 0 0 0 var(--grvsc-line-highlighted-border-color, transparent);\n  }\n  \n</style>","frontmatter":{"date":"May 29, 2020","updated_date":null,"description":"When the General Data Protection Regulation (GDPR) was officially laid out, it sparked an increasing need to re-consider their security arrangements for organisations running on Customer Identity & Access Management (CIAM) solutions.","title":"LoginRadius Launches Consent Management to Support the EU's GDPR Compliance","tags":["data privacy","compliance","consent management"],"pinned":null,"coverImage":{"childImageSharp":{"fluid":{"aspectRatio":1.408450704225352,"src":"/static/937bf203268dbfe4d85930371206f755/6051d/Consent-Management.png","srcSet":"/static/937bf203268dbfe4d85930371206f755/69585/Consent-Management.png 200w,\n/static/937bf203268dbfe4d85930371206f755/497c6/Consent-Management.png 400w,\n/static/937bf203268dbfe4d85930371206f755/6051d/Consent-Management.png 769w","sizes":"(max-width: 769px) 100vw, 769px"}}},"author":{"id":"Rakesh Soni","github":"oyesoni","avatar":"rakesh-soni.jpg"}}}},{"node":{"excerpt":"If a couple of years ago, streaming apps were the future, then the future is here. As social isolation continues to be the new normal amidst…","fields":{"slug":"/identity/streaming-applications-secure-customer-data/"},"html":"<p><em>If a couple of years ago, streaming apps were the future, then the future is here.</em></p>\n<p>As social isolation continues to be the new normal amidst work-from-home and social distancing measures, the popularity of over-the-top (OTT) streaming apps – both video and audio has jumped exponentially to meet the <a href=\"https://www.loginradius.com/blog/2020/02/customer-experience-media-entertainment-industry/\">growing entertainment demands</a> of viewers.</p>\n<p>A recent study by Animoto suggests, <a href=\"https://animoto.com/blog/news/social-video-trends-consumers-2020\">70% of businesses</a> are investing in videos compared to the same time last year.</p>\n<p>With no new content for channels to run (because they are unable to shoot due to the pandemic), viewers are gravitating towards OTT streaming apps like Netflix, Disney Hotstar, Amazon Prime to watch fresh content.</p>\n<p><em>But what about data security amidst the volatile digital identity theft environment?</em></p>\n<p>With the boom in streaming applications, OTT services are a hotbed for sensitive credit card data and <a href=\"https://www.loginradius.com/resource/pii-data-breach-report/\">personally identifiable information</a>.</p>\n<p>But sadly, it is not an uncommon occurrence that people share passwords on-the-go or use the same passwords across the plethora of streaming app premium subscriptions they own.</p>\n<p>Cybercriminals can easily monetize such mistakes and sell access credentials for data theft and identity fraud.</p>\n<h2 id=\"recent-cyber-attacks-in-the-video-and-music-streaming-industry\" style=\"position:relative;\"><a href=\"#recent-cyber-attacks-in-the-video-and-music-streaming-industry\" aria-label=\"recent cyber attacks in the video and music streaming industry permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Recent Cyber Attacks in the Video and Music Streaming Industry</h2>\n<ul>\n<li>Popular streaming service, Disney+ indicated credential stuffing <a href=\"https://www.cpomagazine.com/cyber-security/new-disney-plus-streaming-service-hit-by-credential-stuffing-cyber-attack/\">cyberattack on their application</a> where hackers used stolen login credentials and then applied the brute force method to hack into accounts.</li>\n<li>Irdeto Piracy Trends <a href=\"https://www.aol.com/article/finance/2018/08/13/hundreds-of-stolen-passwords-for-netflix-hbo-hulu-and-more-discovered-for-sale-on-dark-web/23501424/\">Report revealed</a> that it discovered 854 listings of OTT credentials from 69 unique sellers in the dark web. What's more disturbing was the list included 42 popular streaming services, including Netflix, HBO, and Hulu.</li>\n<li>According to Proofpoint <a href=\"https://www.proofpoint.com/uk/resources/threat-reports/state-of-phish\">threat analysts</a>, cybercriminals steal valid credentials from thousands of Netflix, Disney+ streaming accounts, and sell them online at a discounted price.</li>\n<li>The online music streaming service provider, Mixcloud was compromised by AWS hackers who gained unauthorized access to their systems and tried to <a href=\"https://www.cisomag.com/aws-hacker-attacks-online-music-service-mixcloud/\">sell more than 20 million user data</a> on the dark web. </li>\n</ul>\n<p>It has become imperative for content streaming players to fight back. In fact, using automated bot detection and low-friction authentication like social and passwordless login can go a long way in <a href=\"https://www.loginradius.com/blog/2019/10/digital-identity-management/\">securing digital identities</a>.</p>\n<h2 id=\"cyber-threats-faced-by-video-and-music-streaming-apps\" style=\"position:relative;\"><a href=\"#cyber-threats-faced-by-video-and-music-streaming-apps\" aria-label=\"cyber threats faced by video and music streaming apps permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Cyber Threats Faced by Video and Music Streaming Apps</h2>\n<p>When it comes to entertainment-based streaming applications, security often takes the backseat. For customers, keeping Netflix or Amazon Prime's account credentials secure isn't much of a concern. They won't treat them the same way as they would their bank accounts.</p>\n<p>The lack of awareness is what hackers take advantage of. Some of the common ways attackers gain access to customer account include:</p>\n<h3 id=\"phishing-attack\" style=\"position:relative;\"><a href=\"#phishing-attack\" aria-label=\"phishing attack permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Phishing Attack</h3>\n<p>Phishing is a kind of social engineering attack where imposters dupe victims into opening an email link, instant message, or genuine looking sites to steal login credentials and credit card numbers.</p>\n<p>As the worldwide lockdown is forcing people to rely a lot more on streaming applications like Netflix, Disney+, Hulu, YouTube TV, fraudsters are seeing this as an opportunity to pose threats to users.</p>\n<p>According to a report by <a href=\"https://www.theguardian.com/media/2020/apr/19/hackers-exploit-coronavirus-lockdown-with-fake-netflix-and-disney-pages\">The Guardian</a>, more than 700 lookalike websites resembling Netflix and Disney+ signup pages have been created by hackers to take advantage of the pandemic streaming boom.</p>\n<p>These fake websites entice users with their free subscriptions to steal names, IDs, personal and financial information.</p>\n<h3 id=\"credential-stuffing-attack\" style=\"position:relative;\"><a href=\"#credential-stuffing-attack\" aria-label=\"credential stuffing attack permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Credential Stuffing Attack</h3>\n<p><a href=\"https://www.loginradius.com/blog/2019/09/prevent-credential-stuffing-attacks/\">Credential stuffing</a> is a kind of cyberattack where hackers use large databases of stolen credentials via automated bots to gain access to user accounts.</p>\n<p>One of the biggest loopholes that result in a credential stuffing attack include consumers using the same login and password for multiple applications services.</p>\n<p>Streaming apps are the perfect victim of such attacks. Often, hackers know when there is a worldwide demand for a particular service, for example, during the premiere of a popular series. They know users will be sharing login credentials with others. That's precisely the kind of opportunity hackers look for.</p>\n<h3 id=\"brute-force-attack\" style=\"position:relative;\"><a href=\"#brute-force-attack\" aria-label=\"brute force attack permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Brute Force Attack</h3>\n<p>A brute force attack is a kind of hacking attempt that hackers use to target login pages through trial and error. The bad actors use automated bots to attempt as many guesses as possible until they are able to crack open an account with the right combination.</p>\n<p>One of the biggest examples of brute force attacks on streaming apps is that they are relatively simple to perform. Also, the lack of mitigation strategy in the systems' security level makes it a <a href=\"https://www.loginradius.com/blog/2019/10/cybersecurity-attacks-business/\">popular form of cyberattack</a>.</p>\n<h3 id=\"account-takeover-attack\" style=\"position:relative;\"><a href=\"#account-takeover-attack\" aria-label=\"account takeover attack permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Account Takeover Attack</h3>\n<p>It seems like <a href=\"https://www.loginradius.com/blog/2020/04/corporate-account-takeover-attacks/\">account takeover attacks</a> are the new normal for content streaming applications today. Fraudsters have an intensive criminal ecosystem that often leverages a large database of previously stolen credentials to hack into OTT delivery models.</p>\n<p>They use bot infrastructure to attempt logging in with the hope that at least 1%-2% of these account owners will re-use their credentials. And when consumers do that, bam! Hackers take over those accounts and exploit them for financial gain.</p>\n<h3 id=\"man-in-the-middle-mitm-attack\" style=\"position:relative;\"><a href=\"#man-in-the-middle-mitm-attack\" aria-label=\"man in the middle mitm attack permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Man-in-the-Middle (MitM) Attack</h3>\n<p>Consider MitM attacks as cyber eavesdropping where attackers secretly place them between communication end-points and tamper data through a compromised, yet trusted system.</p>\n<p>Man-in-the-middle attacks can be easily automated, and hence, repercussions can be quite severe. Its negative brand publicity can cost businesses in millions, and customers can be ripped off money.</p>\n<p>Detecting MitM attacks is difficult, but they can be prevented through cybersecurity measures like multi-factor authentication and maximizing network control.</p>\n<h2 id=\"ott-over-the-top-streaming-services-and-apps\" style=\"position:relative;\"><a href=\"#ott-over-the-top-streaming-services-and-apps\" aria-label=\"ott over the top streaming services and apps permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>OTT (Over-The-Top) Streaming Services and Apps</h2>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 768px; \"\n    >\n      <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 68.61538461538461%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAOCAYAAAAvxDzwAAAACXBIWXMAAAsTAAALEwEAmpwYAAACCElEQVQ4y22TW1MTQRSE9yUzuzGlhQURfZQQA0biVqyQzWU3NwSMgFUhCESDUD7o//8BbZ+ZvSQbH07tZDLzTXefGUe1v0Mf30BJdRdQvZ9Q/Qfo5hW8SgC32oO3392odF6+K+UYWPvWQAww4Di4g+rcwT06tZvf9VmhgSSVQFfHGbC/NBAZayp2RXVrDrd+Avf9GO7hEO6HzzG0vwbOH+Kozr2xWWhdY2u4ROXyL/Yu/uBFuLCbBUiQV+nkbHfWxgmUwIW1ejzHzvgXng2fUIweUI7u7cKDAWuYAlOLcpCpCR2MUrhjYFK0uDt5hDf6DY/A18E32xTZcHRm7TJLAZsoCFHVEFrmBVyfxEDmpaJHFPgtT56wTds7rUuUPxIkSiS7WpgpEng8fvlpiq3mFDr5rzaAI5a0f8EmzKDqp1D7Pei3bWh+LSzK8hJ1oph7PAIOR9eoRjNoqpVYpBy7MLCWuMiL5RtbAlvNjus8drzAja/8EzSnS/hffmC7MYaSnA9EYf5emazCrHuEihXzv4xFNW0XCS4x01KNuYpCCjAZ/u+SpjDpHtUWqVo3zq3y+AKLdckuyc/MbQBXXoPHRmieujeYozK+xXP/HJr3Mrs6jEKcSOfl8Hh+Q6F0VPtfjRpNe7vdGd6ENyg1zswmL/cy8u6ctYeeKrWnyuYC85Oyc92Nd5z//Q9OIpwDIXFXpQAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"OTT (Over-The-Top) Streaming Services and Apps\"\n        title=\"OTT (Over-The-Top) Streaming Services and Apps\"\n        src=\"/static/32ca256cfd2e6ca189272ccfb8eaffe9/e5715/OTT-Over-The-Top-Streaming-Services-and-Apps-1024x703.png\"\n        srcset=\"/static/32ca256cfd2e6ca189272ccfb8eaffe9/a6d36/OTT-Over-The-Top-Streaming-Services-and-Apps-1024x703.png 650w,\n/static/32ca256cfd2e6ca189272ccfb8eaffe9/e5715/OTT-Over-The-Top-Streaming-Services-and-Apps-1024x703.png 768w,\n/static/32ca256cfd2e6ca189272ccfb8eaffe9/2bef9/OTT-Over-The-Top-Streaming-Services-and-Apps-1024x703.png 1024w\"\n        sizes=\"(max-width: 768px) 100vw, 768px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n    </span></p>\n<p>Streaming entertainment giants are completely <a href=\"https://www.loginradius.com/blog/2020/05/cyber-threats-business-risk-covid-19/\">aware of the cyber threats</a> - a reason why the media landscape is rapidly evolving to accommodate the growing security concerns.</p>\n<p>Some of the OTT (over-the-top) video streaming services and apps that stand out in the volatile environment include:</p>\n<h3 id=\"ott-video-streaming-services-and-apps\" style=\"position:relative;\"><a href=\"#ott-video-streaming-services-and-apps\" aria-label=\"ott video streaming services and apps permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>OTT Video Streaming Services and Apps</h3>\n<ol>\n<li><strong>Netflix</strong></li>\n</ol>\n<p>Content is king, and catalog is everything when it comes to a video streaming service's success. Netflix ticks both the checkboxes. With over 182.8 million subscribers, it is one of the biggest video-distribution networks in the world today.</p>\n<p>To accommodate the security of the vast customer base, Netflix takes a <a href=\"https://partnerhelp.netflixstudios.com/hc/en-us/articles/360001937528-Netflix-Content-Security-Best-Practices\">risk-based approach to content security</a>. </p>\n<p>Some of the measures include regular risk assessment, strong authentication protections via MFA, security training and awareness program, business continuity plan, and ensuring that only persons working on client projects can access the content.</p>\n<ol start=\"2\">\n<li><strong>Amazon Prime Video</strong> </li>\n</ol>\n<p>Another streaming giant, Amazon Prime, handles cybersecurity by following the best possible practices.</p>\n<p>Some of them include the use of SSL to encrypt web traffic, use of secure cookies to prevent client malware from hacking customers and email and DNS protection to verify the authenticity of the email and web addresses. They also have their headers obscured.</p>\n<ol start=\"3\">\n<li><strong>Disney +</strong></li>\n</ol>\n<p>One of the world's largest independent media conglomerates, the Walt Disney Company, or simply Disney+ offers enhanced security measures to keep the data of its millions of subscribers safe.</p>\n<p>Who does it do it? Disney uses a robust SSL algorithm for data encryption. Furthermore, it also ensures that the ASP.NET version header is not exposed, so it is harder for hackers to hack into their systems.</p>\n<ol start=\"4\">\n<li><strong>Voot</strong></li>\n</ol>\n<p>Voot is Viacom18's Premium video on demand (SVOD) service for the Indian audience. It's the latest offering, Voot Select is launched with an extensive digital portfolio.</p>\n<p>The platform offers 32 original shows with edgy and disruptive stories, four international channels, and the best network content 24 hours before the episodes air on TV.</p>\n<ol start=\"5\">\n<li><strong>Alt Balaji</strong></li>\n</ol>\n<p>Alt Balaji, one of the leading OTT players, is a homegrown streaming platform for Indian consumers. With a variety of new options in the original web-series category, it lets you stream Indian content at a minimal cost.</p>\n<p>Speaking of its cybersecurity adjustments, they undertake robust internal control measures to limit the access of information and also offer strong <a href=\"https://www.altbalaji.com/privacy-policy\">security policies against phishing</a> to protect consumer data from identity theft.</p>\n<ol start=\"6\">\n<li><strong>BritBox</strong> </li>\n</ol>\n<p>BritBox is a UK-based digital video subscription service, which is a joint venture between ITV and the BBC. It serves the consumers in the United Kingdom, the United States, and Canada.</p>\n<p>The platform offers an ensemble of the massively popular British TV content along with fresh series of a mixture of genres. BritBox has chosen LoginRadius as the <a href=\"https://www.loginradius.com/press/loginradius-powers-britbox-launch-high-performance-ciam/\">sole provider of its managed identity platform</a>.</p>\n<ol start=\"7\">\n<li><strong>Hulu</strong></li>\n</ol>\n<p>Hulu is a very popular American video streaming application co-owned by The Walt Disney Company and Comcast. It streams newer TV shows in the US and Japan.</p>\n<p>With an extensive library, Hulu majorly focuses on original content, documentaries, blockbuster, and independent films and other popular shows from popular network broadcasters across the globe.</p>\n<ol start=\"8\">\n<li><strong>Zee 5</strong></li>\n</ol>\n<p>Zee 5 is another popular video streaming app for Indian consumers from entertainment network Zee Entertainment Enterprises Limited (ZEEL). The online OTT platform offers entertainment through hyper-personalization in their content developing strategies.</p>\n<p>Zee 5 offers Live TV, TV shows, originals, international shows, and premium movies in 11 navigational and 12 featured languages to cater to the ever-evolving viewership pattern of users.</p>\n<ol start=\"9\">\n<li><strong>HBO Go</strong></li>\n</ol>\n<p>HBO GO is a streaming service that is offered for free along with an existing HBO subscription. Consumers can enjoy unlimited access to the best HBO shows, movies, sports, and documentaries.</p>\n<ol start=\"10\">\n<li><strong>SonyLIV</strong></li>\n</ol>\n<p>SonyLIV is another popular OTT service that streams quality content by Sony Pictures Networks India Private Limited (SPN) for Indian users. Launched in 2013, it is the first premium video-on-demand service that offers multi-screen engagement, a massively popular concept these days.</p>\n<p>With secured digitization taking over the streaming platform, consumers are swamped with choices – FuboTV, Tubi, Philo, Youtube TV, Sling TV, Crunchyroll, Apple TV Plus, Sony Crackle, Hotstar, Erosnow, Viu, Jio Cinema, Zengatv and more.</p>\n<h3 id=\"ott-audio-streaming-services-and-apps\" style=\"position:relative;\"><a href=\"#ott-audio-streaming-services-and-apps\" aria-label=\"ott audio streaming services and apps permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>OTT Audio Streaming Services and Apps</h3>\n<ol>\n<li><strong>Apple Music</strong></li>\n</ol>\n<p>Apple Music is one of the most loved music streaming apps that features more than 30 million songs and a 24/7 live radio. Music lovers can enjoy both commercial and local hits and options to upload their own music and stream to their devices.</p>\n<ol start=\"2\">\n<li><strong>Deezer</strong> </li>\n</ol>\n<p>Deezer is another popular music streaming app for music fanatics in the United States. It claims to offer the best quality music streaming service with an infinite collection of songs with automated recommendations.</p>\n<ol start=\"3\">\n<li><strong>iHeartRadio</strong></li>\n</ol>\n<p>iHeartRadio is one of the personal favorites of listeners who love to enjoy music from curated playlists. The premium on-demand music service houses millions of tracks, and there are radio stations that are offered for free.</p>\n<ol start=\"4\">\n<li><strong>Pandora</strong></li>\n</ol>\n<p>For music lovers looking for the most reliable online radio station, Pandora is the first choice. While there's a lot to enjoy in the free plan, listeners can enjoy unlimited skips with the premium account, along with a diverse collection of personalized radio stations.</p>\n<ol start=\"5\">\n<li><strong>SoundCloud</strong></li>\n</ol>\n<p>SoundCloud is a community-driven music streaming app and a popular choice for global indie creators. Listeners are exposed to millions of popular tracks, and they can also upload their own music.</p>\n<ol start=\"6\">\n<li><strong>Google Play Music</strong></li>\n</ol>\n<p>Google Play Music is undoubtedly one of the most popular audio streaming sites among music lovers. It is a perfect choice for on-demand music access with a tidy interface compared to other popular streaming sites.</p>\n<ol start=\"7\">\n<li><strong>Spotify</strong> </li>\n</ol>\n<p>Spotify has it all - from millions of songs, curated radio stations, playlists, podcasts, and even some video content. It is one of the most recognizable streaming music apps after Google Play Music.</p>\n<ol start=\"8\">\n<li><strong>Tidal</strong> </li>\n</ol>\n<p>Tidal is unquestionably a popular music streaming site that supports High Fidelity music. It offers a collection of over 50 million soundtracks and is available to dozens of countries worldwide. Tidal recommends users to access through Google Chrome to enjoy a HiFi music experience.</p>\n<p>Among its popular features include Android TV support, over 130,000 high definition music videos, expertly curated playlists, and a music blog.</p>\n<ol start=\"9\">\n<li><strong>YouTube Music</strong></li>\n</ol>\n<p>YouTube Music is the video service's most popular and recognizable music streaming offering. Like other music apps, users can enjoy millions of songs on the platform with the unique differentiation that it sources the YouTube channel.</p>\n<ol start=\"10\">\n<li><strong>Gaana</strong></li>\n</ol>\n<p>Gaana is an incredibly popular music streaming app among Indian audiences, mostly because of its selection of curated playlists and lively looking interface.</p>\n<p>With other popular options like TuneIn Radio, Wynk, JioSaavn, Amazon Prime Music, IDAGIO, PrimePhonic, and the likes, there is no shortage of music apps.</p>\n<p>Now, think of it this way. If nearly all of the population is attached to at least one streaming service (be it audio or video), we are a lucrative target for hackers to get their hands on sensitive data.</p>\n<h2 id=\"5-things-video-and-audio-streaming-industry-can-do-to-secure-the-user-experience\" style=\"position:relative;\"><a href=\"#5-things-video-and-audio-streaming-industry-can-do-to-secure-the-user-experience\" aria-label=\"5 things video and audio streaming industry can do to secure the user experience permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>5 Things Video and Audio Streaming Industry Can Do to Secure the User Experience</h2>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 768px; \"\n    >\n      <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 68.61538461538461%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAOCAYAAAAvxDzwAAAACXBIWXMAAAsTAAALEwEAmpwYAAABxUlEQVQ4y3WT6W7DIBCE/f7P1b9tlVSKekhpejpN7PjAHDbg6S42KXJSJLQYzMfOsGTjOCK2bvCojUPTuxC19ec1/i/25Xc6l/HA06DUFpKAlsaDH2GptzN42dIklnMBeCJY7zxGT0DreDUsahq/1hrbSuOkBhTKwvlpjQ/ksV9mqEiWoMyctSjqFqKTaJTBw0Fh/dPhqzVYUbzNBc3JcHBUdVUyyyIetOnR6R6G1krtcLeXAcrAp0LhuaRxY9Aa++fhHAc6xEfJ0SNFwLyoUHUKeS1xsz3i/rMKwJdyAr6T/KMcLnxk2BnYDQ6SZHvyr2wE9sUJm9031u8HbL5PAbg5ygD9pAzZywiUw3Rpw2xDkMzm8qXEVguJj58Cu1Lgo+3xRlnd7bvg3yNJN3MpcVWw/5wZQ9m68y1zuTB0WQ656ANoR7ecC4OSbpk37yWVWG+DTbzXGBPmDWWaRQifxlBeqGKkrmhDajrHo5oUHeiQVd6QVh/A3LPU4OnGpqLm+F/x8mE91WhLJSakglI6vLIATGHXAG4u4LTeWBrLnzKnJ0v+Rcuy9F1yi9Uf25Stv8iSoWxJfPs+fXrpjzGjpRXX4jVFv/fmSA7zcOxjAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"Video and Audio Streaming Industry \"\n        title=\"Video and Audio Streaming Industry \"\n        src=\"/static/0179c3b843325d591a0fd6be791fc6fb/e5715/Video-and-Audio-Streaming-Industry-1024x703.png\"\n        srcset=\"/static/0179c3b843325d591a0fd6be791fc6fb/a6d36/Video-and-Audio-Streaming-Industry-1024x703.png 650w,\n/static/0179c3b843325d591a0fd6be791fc6fb/e5715/Video-and-Audio-Streaming-Industry-1024x703.png 768w,\n/static/0179c3b843325d591a0fd6be791fc6fb/2bef9/Video-and-Audio-Streaming-Industry-1024x703.png 1024w\"\n        sizes=\"(max-width: 768px) 100vw, 768px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n    </span></p>\n<p>Identity is the most important entity in the digital ecosystem. Streaming applications should know how to associate the required restrictions with the right users and secure customer experiences. Here are five other ways to enhance customer security. </p>\n<ol>\n<li><strong>Put user experience at the center.</strong></li>\n</ol>\n<p>Popular streaming sites like Netflix, Amazon Prime, Disney + already do that. They offer curated recommendations on their home screen based on viewers' most binge-watched genre. This is where the use of AI for seamless customer experience comes into play. </p>\n<p>Make sure the UX complement aspects such as targeted retention strategies, quick onboarding, and secure payment gateways. </p>\n<p>But then, let's not forget that hackers are skilled engineers that develop faulty algorithms to redirect consumers to different payment sites. Make sure <a href=\"https://www.loginradius.com/authentication/\">you are authenticating users</a> with a robust security system on your OTT platform. </p>\n<ol start=\"2\">\n<li><strong>Safeguard customer data.</strong> </li>\n</ol>\n<p>Securing customer data in the digital space is a big deal for any industry. As consumers continue to subscribe, and your community grows, the growing database becomes more and more vulnerable to security risks.</p>\n<p>Henceforth, if any brand fails to <a href=\"https://www.loginradius.com/security/\">prioritize security and privacy</a>, it may be a significant blow to reputation. </p>\n<p>Conversely, practicing the right cybersecurity measures and investing in the right identity management solution will gain a competitive edge over others. </p>\n<ol start=\"3\">\n<li><strong>Steer clear of targeted automation and bots.</strong></li>\n</ol>\n<p>A vast majority of credential stuffing attacks happen due to botnets. Hackers usually program botnets to devise account takeovers of consumer data that are most vulnerable to attacks. </p>\n<p><a href=\"https://www.loginradius.com/blog/2019/06/what-is-multi-factor-authentication/\">Using multi-factor authentication</a> can help a great deal in reducing such risks. Users trying to authenticate should first confirm the human use of a web browser. </p>\n<p>For example, the clicking pattern or movement of a mouse during Recaptcha evaluation can determine the difference between a bot and a human.</p>\n<ol start=\"4\">\n<li><strong>Implement low-fiction security solutions.</strong></li>\n</ol>\n<p>If remembering complex passwords is a problem for consumers, introduce <a href=\"https://www.loginradius.com/blog/identity/passwordless-authentication-the-future-of-identity-and-security/\">passwordless authentication</a> into your system where you can confirm a user's identity through OTP, magic link, or biometrics in a more efficient, and secure way.</p>\n<p>It will keep customer data safe without creating any inconvenience to user experience — a win-win for both parties.</p>\n<ol start=\"5\">\n<li><strong>Protection against piracy.</strong></li>\n</ol>\n<p>Piracy sites are quite popular in the industry because they allow users to stream content for free. The lack of a monthly subscription business model seems more appealing than premium streaming services where users cannot move past thumbnails unless they are subscribers.</p>\n<p>Other benefits like live streaming of premium TV content make piracy sites more popular among general users. Sometimes, they resemble popular streaming applications to make hacking even easier.</p>\n<p>Educate your customers about different hacking practices and make sure they can distinguish between you and your pirated version.</p>\n<h2 id=\"the-need-for-identity-management-in-online-streaming-services-and-applications\" style=\"position:relative;\"><a href=\"#the-need-for-identity-management-in-online-streaming-services-and-applications\" aria-label=\"the need for identity management in online streaming services and applications permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>The Need for Identity Management in Online Streaming Services and Applications</h2>\n<p>Securing content and safeguarding customer information is crucial to the functioning of streaming apps. Any loophole in the security system may lead to compromised service and put your OTT brand at risk.</p>\n<p>A <a href=\"https://www.loginradius.com/blog/2019/06/customer-identity-and-access-management/\">cloud-based identity management solution</a> like LoginRadius sits between streaming services and general users to safeguard data embedded in backend and frontend systems.</p>\n<p>Today, streaming subscribers want things to be effortless and easy-to-operate. An identity management platform ticks all the boxes here.</p>\n<p>Wondering how? Let's find out. </p>\n<ul>\n<li>\n<p><strong>Single Sign-On</strong>: SSO or <a href=\"https://www.loginradius.com/blog/2019/05/what-is-single-sign-on/\">Single Sign-on</a> allows a unified login system where a single set of login credentials can be used to access multiple partners.  </p>\n<p>Video broadcasting company BroadcastMed's successful implementation of SSO by LoginRadius is a good example.</p>\n</li>\n</ul>\n<p><a href=\"https://www.loginradius.com/resource/broadcastmed-case-study\"><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 768px; \"\n    >\n      <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 30.307692307692307%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAGCAYAAADDl76dAAAACXBIWXMAAAsTAAALEwEAmpwYAAABcUlEQVQY0zWRy0tCQRTGpczXvVqKRmEqaeZbNF/Xt17ziRkmBFKroIXSqk1BtYrosWnRP9AuqFXgJoJ2bWrTpr/n68zYXXycYeab3znfjEq/XgCTwVeE4C9BJAn/MvimZ4p0azkYQjLMqS1YIjL0QZK/DL03Pz2nqmILgWDmqAwhUIKOIAZ/EcZwFdZEG6ZghRuZT+uRIETqcNb2ENrchS7Vx1y4zvcVj0rpvlrYRqyzjwAZXfkenLkeFqI1iIEyNzMtJVpwZbtY3mjAnu7AmW7DTT6H1OXJ+IQKeYU2I80hvJUBbHTBRBOKoTKMwSlQpOmtsTos1MQWb3A4q4t83cQ8+bUKkNGNFE3tyWLGnaEqYdYt8fgMyN5X5Ujg6OIOXz+/eHp9w+PLhOvj8xvPk3eY6U01nhxFJiD7AF+mhmC8iGq5D5liJ6sDNHcOYE+2oKHPUK9KkIcjnFw/YHx+i/HZDUak48t7HJ5ewRSqQEu+P5NWxNhrn3A1AAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"BroadcastMed case study\"\n        title=\"BroadcastMed case study\"\n        src=\"/static/af32863f56c0b3b04d3ada5ccab74458/e5715/CS-BroadcstMed-1024x310.png\"\n        srcset=\"/static/af32863f56c0b3b04d3ada5ccab74458/a6d36/CS-BroadcstMed-1024x310.png 650w,\n/static/af32863f56c0b3b04d3ada5ccab74458/e5715/CS-BroadcstMed-1024x310.png 768w,\n/static/af32863f56c0b3b04d3ada5ccab74458/2bef9/CS-BroadcstMed-1024x310.png 1024w\"\n        sizes=\"(max-width: 768px) 100vw, 768px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n    </span></a></p>\n<p>The identity provider offered a centralized login system where users can seamlessly navigate to third-party sites and other syndication partners without the need to log in and out every time.</p>\n<ul>\n<li>\n<p><strong>Passwordless Login</strong>: The general users love it if they can log in or register without a password. In the streaming industry, <a href=\"https://www.loginradius.com/blog/2019/10/passwordless-authentication-the-future-of-identity-and-security/\">passwordless login</a> can act as a catalyst for customer retention and loyalty.  </p>\n<p>With advanced authentication features like one-touch login and <a href=\"https://www.loginradius.com/docs/authentication/tutorial/smart-login/\">smart login</a>, subscribers can simply login by entering the OTP or email ID.</p>\n</li>\n<li><strong>Social Login</strong>: <a href=\"https://www.loginradius.com/social-login/\">Social login</a> is another authentication module that helps reduce login complexities and password fatigue. Subscribers can authenticate using their existing social media credentials instead of filling out time-consuming forms.</li>\n<li><strong>Increase security with MFA</strong>: Streaming applications can offer multi-factor authentication or <a href=\"https://www.loginradius.com/multi-factor-authentication/\">MFA as an additional security layer</a> to protect subscribers' data. They can minimize the risk of data theft by mandating customers to enter an instant OTP or open a link.</li>\n<li><strong>Compliance and privacy management</strong>: An identity management solution ensures that international <a href=\"https://www.loginradius.com/data-governance/\">data governance policies</a> are met. Additionally, it takes care of real-time fraud analysis to prevent stubborn hacking attempts.</li>\n</ul>\n<h2 id=\"conclusion\" style=\"position:relative;\"><a href=\"#conclusion\" aria-label=\"conclusion permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Conclusion</h2>\n<p>Frictionless user experience and optimal security drive the transformation of the audio and video streaming industry. A common reason why most people do not favor multi-factor authentication or like to create unique passwords is because the process adds on to their effort.</p>\n<p>Even then data security remains a crucial aspect. You need to balance both the worlds. An identity management platform can help you achieve that.</p>\n<p><a href=\"https://www.loginradius.com/book-a-demo/\"><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 768px; \"\n    >\n      <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 30.307692307692307%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAGCAYAAADDl76dAAAACXBIWXMAAAsTAAALEwEAmpwYAAABbElEQVQY0zVQO0/CUBQmaihthUbRhPhCAlhKEXlE3s+CCEaBwQF10riQODkwaFyMMcTFwR9gjBvRSeKko4NxcfD/fJ57C8PJbc53+r0soj8Lm5qHbS0HW6AIwZ+DXSvAESxBpJ3MMLph3+xWDlUwm2jCGa5A0isQtRIkhrH/CbdwwkDBHAJlGodexsy6wUkduknMBCfdmxCCBhZKHailfUxGm5jQKphaTUDwmaIWdigyF1oZsm7AFavBRspKuMpdTJMQO5yLbCHVPkG0cYRY4xAR9tbp3T5AsnUMT7YFqzdtOuQOSFmiyMupXUihKuzk0hWvc0xgUYlYod18tAZPrg13eg8rNIuJHSihMtVUHEUe51cLPJ5zo8oJJRJQRnHlQB6WpTjOru7w/fuH59d3PL0M8Th4w+fXDwbDD16R1ZsxCcelsyUbidQEEuC9ECap1J8nCaPTRe/2Ad3LvjkXfZxf3+O0d8P7FnwZ/AMzEsMp2f6LdQAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"book-a-free-demo-loginradius\"\n        title=\"book-a-free-demo-loginradius\"\n        src=\"/static/779ad148d33fb1ecfd80cc41f1a94ef3/e5715/Book-a-free-demo-request-1024x310.png\"\n        srcset=\"/static/779ad148d33fb1ecfd80cc41f1a94ef3/a6d36/Book-a-free-demo-request-1024x310.png 650w,\n/static/779ad148d33fb1ecfd80cc41f1a94ef3/e5715/Book-a-free-demo-request-1024x310.png 768w,\n/static/779ad148d33fb1ecfd80cc41f1a94ef3/2bef9/Book-a-free-demo-request-1024x310.png 1024w\"\n        sizes=\"(max-width: 768px) 100vw, 768px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n    </span></a></p>\n<style class=\"grvsc-styles\">\n  .grvsc-container {\n    overflow: auto;\n    -webkit-overflow-scrolling: touch;\n    padding-top: 1rem;\n    padding-top: var(--grvsc-padding-top, var(--grvsc-padding-v, 1rem));\n    padding-bottom: 1rem;\n    padding-bottom: var(--grvsc-padding-bottom, var(--grvsc-padding-v, 1rem));\n    border-radius: 8px;\n    border-radius: var(--grvsc-border-radius, 8px);\n    font-feature-settings: normal;\n  }\n  \n  .grvsc-code {\n    display: inline-block;\n    min-width: 100%;\n  }\n  \n  .grvsc-line {\n    display: inline-block;\n    box-sizing: border-box;\n    width: 100%;\n    padding-left: 1.5rem;\n    padding-left: var(--grvsc-padding-left, var(--grvsc-padding-h, 1.5rem));\n    padding-right: 1.5rem;\n    padding-right: var(--grvsc-padding-right, var(--grvsc-padding-h, 1.5rem));\n  }\n  \n  .grvsc-line-highlighted {\n    background-color: var(--grvsc-line-highlighted-background-color, transparent);\n    box-shadow: inset var(--grvsc-line-highlighted-border-width, 4px) 0 0 0 var(--grvsc-line-highlighted-border-color, transparent);\n  }\n  \n</style>","frontmatter":{"date":"May 21, 2020","updated_date":null,"description":"OTT streaming apps should know how to mitigate data theft. Using a robust identity management solution in online streaming services helps secure digital identities.","title":"Streaming Applications: How to Secure Your Customer Data","tags":["data security","authentication","cx"],"pinned":null,"coverImage":{"childImageSharp":{"fluid":{"aspectRatio":1.9607843137254901,"src":"/static/0e3b293d6c4492e0beefd2007bcf9422/33aa5/secure-customer-data.jpg","srcSet":"/static/0e3b293d6c4492e0beefd2007bcf9422/f836f/secure-customer-data.jpg 200w,\n/static/0e3b293d6c4492e0beefd2007bcf9422/2244e/secure-customer-data.jpg 400w,\n/static/0e3b293d6c4492e0beefd2007bcf9422/33aa5/secure-customer-data.jpg 768w","sizes":"(max-width: 768px) 100vw, 768px"}}},"author":{"id":"Rakesh Soni","github":"oyesoni","avatar":"rakesh-soni.jpg"}}}},{"node":{"excerpt":"Cyber threat for businesses has always been a big deal. With the world population self-quarantined at home and the stock market succumbing…","fields":{"slug":"/identity/cyber-threats-business-risk-covid-19/"},"html":"<p>Cyber threat for businesses has always been a big deal. With the world population self-quarantined at home and the stock market succumbing to the ill-fated Covid-19, cybercriminals are making the most of the on-going crisis and adding on to the cyberthreat landscape.</p>\n<p>In April 2020 alone, WHO reported that some 450 active official email addresses and passwords <a href=\"https://www.who.int/news-room/detail/23-04-2020-who-reports-fivefold-increase-in-cyber-attacks-urges-vigilance\">were leaked online</a> along with thousands of other credentials – all linked with people working to mitigate the coronavirus impact.</p>\n<p>For cybercriminals, it has become easier than ever to conduct social engineering campaigns where they use fake emails to exploit the fear around the COVID-19 pandemic.</p>\n<p>Before going through the protection module, let's find out a few more creative examples of cyber threat for businesses.</p>\n<ul>\n<li>Online sellers are claiming they offer unlimited delivery of essentials products like groceries, medical, cleaning, and household supplies. When buyers pre-order, they never receive the order.</li>\n<li>Cybercriminals are creating fake websites with bogus face masks, hand sanitizers, wipes, and other medical equipment.</li>\n<li>Charities are losing money to man-in-the-middle attacks. Scammers are stealing donated money by hacking into organizations' accounts and redirecting donors to fake accounts.</li>\n<li>Phishing attempts by tempting users to get hold of personal data like account numbers, Social Security numbers, and <a href=\"https://www.loginradius.com/blog/2019/09/prevent-credential-stuffing-attacks/\">login credentials</a>. </li>\n</ul>\n<p>Amidst IT facing the heat to mitigate the Covid-19 data breach challenges, certain techniques like phishing attack remain constant.</p>\n<p>It is time for businesses to pull the chord on attackers exploiting accounts and gaining access to high-profile resources. </p>\n<h2 id=\"industries-at-risk-during-covid-19\" style=\"position:relative;\"><a href=\"#industries-at-risk-during-covid-19\" aria-label=\"industries at risk during covid 19 permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Industries at Risk During COVID-19</h2>\n<p>With the majority of companies working on the \"work from home\" module, cyber threats for businesses have increased multi-fold – which is irrespective of any industry. The most notable ones include:</p>\n<h3 id=\"media-industry\" style=\"position:relative;\"><a href=\"#media-industry\" aria-label=\"media industry permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><strong>Media Industry</strong></h3>\n<p>The <a href=\"https://www.loginradius.com/blog/2020/02/customer-experience-media-entertainment-industry/\">media and entertainment industry</a> is rapidly becoming a new favorite for cyber hackers as they find creative ways to exploit revenue-driven assets like intellectual property or commercially sensitive data in the industry's security infrastructure. </p>\n<p>Moreover, with the shooting popularity of streaming sites due to the pandemic, hackers are turning these services into a new hotspot for exploitation. </p>\n<p>According to the cybersecurity firm Mimecast, <a href=\"https://www.capetalk.co.za/podcasts/136/early-breakfast-with-abongile-nzelenzele/310995/streaming-services-spoofed-more-than-700-suspicious-domains-impersonating-netflix-found\">more than 700 fake websites</a> resembling Netflix and Disney+ signup pages were identified between 6th April 2020 and 12 April 2020. </p>\n<p>It seems like with the world population obliged to stay at home, hackers are redirecting their attention to streaming services for understandably obvious reasons – i.e. to pose cyber threat for businesses. </p>\n<h3 id=\"hospitality-industry\" style=\"position:relative;\"><a href=\"#hospitality-industry\" aria-label=\"hospitality industry permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><strong>Hospitality Industry</strong></h3>\n<p>Hospitality is one of the hardest-hit industries during this time of the pandemic. It witnessed a sharp decline in the first quarter of 2020. But, just because the industry isn't in its best shape at the moment, it doesn't mean they aren't a target for bad actors anymore. </p>\n<p>Hackers are getting increasingly sophisticated and finding new ways to steal guests' information from systems, servers, and even the front desks. </p>\n<p><a href=\"https://www.loginradius.com/blog/2020/04/marriott-data-breach-2020/\">Marriott data breach</a> at the end of February 2020 made headlines for the second time. More than 5.2 million guest data including names, birth-dates, phone numbers, language preferences, and loyalty account numbers were exposed as a result of the breach.</p>\n<p>A data breach in this sector can lead to severe cyber threat for businesses like damage to reputation, loss of customer trust, and cost thousands of dollars in fines and penalties. </p>\n<h3 id=\"financial-industry\" style=\"position:relative;\"><a href=\"#financial-industry\" aria-label=\"financial industry permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><strong>Financial Industry</strong></h3>\n<p>The <a href=\"https://www.loginradius.com/blog/2020/04/financial-industry-identity-management/\">financial industry</a> is no alien to cyberattacks during the novel coronavirus pandemic. The U.S. Secret Service and the FBI even declared that <a href=\"https://www.us-cert.gov/ncas/alerts/aa20-106a\">North Korea's hacking activities</a> are threatening the country's financial system and the stability of the global community at large.</p>\n<p>As governments across the globe are sanctioning millions of dollars to mitigate the economic crisis, financial institutions play the primary role in distributing the funds to companies and citizens. Therefore, this industry is a juicy target, not just for North Korea but for the bad actors at large. </p>\n<p>With people working remotely on less secure networks, they are easy targets for hackers to exploit sensitive systems and even bring down national economies. </p>\n<h3 id=\"retail-industry\" style=\"position:relative;\"><a href=\"#retail-industry\" aria-label=\"retail industry permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><strong>Retail Industry</strong></h3>\n<p>Mimecast observed more than <a href=\"https://www.mimecast.com/globalassets/cyber-resilience-content/100-days-of-coronavirus-threat-intelligence.pdf\">60,000 COVID-19-related fake domains</a> were created since January 2020 to steal from unsuspecting panic-buyers through lookalike domains during the time of crisis. </p>\n<p>The <a href=\"https://www.loginradius.com/blog/2020/05/customer-experience-retail-industry/\">retail industry</a> has a lot to do with payment and transactions. Retailers are loaded with customers' personally identifiable information, and if hacked, millions of data are exposed.</p>\n<p>No doubt, attackers have become more opportunist and automated with time. In response to the increasing impersonation attack campaigns and cyber threat for businesses, organizations need to review their cybersecurity strategies and add multiple layers of security as their first line of defense. </p>\n<p><a href=\"https://www.loginradius.com/resource/how-retail-and-consumer-goods-companies-use-loginradius-identity-solution/\"><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 768px; \"\n    >\n      <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 30.307692307692307%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAGCAYAAADDl76dAAAACXBIWXMAAAsTAAALEwEAmpwYAAABg0lEQVQY002QyS9DURSHnwVeK2qKIcaEooMKqqUtqq9UpSKRmNkStbCwkSCxEEEisfAP2FmQiESEBXYWWNiIxNAYYqsE68+7rypucu793Zzf+e45V9JVNBEPfWUzKaYW7dRVeND/y4mQjW70VoUMRzeZNgWdRUE2edGVe5B/PVIclG3zkWVuwWB0kW5qIr+ug9yadtIsXmS1QAOWudDb2inyj2Dx9yM7ekiqCmgPaXnVJ8VFWWMId2gUZ3CIWn8fWVUKBmsbBnMMmGz0kGb1UeLqoqA+SJ49SLGzk1J3N7n2DjUfg0rCLMLs7SEwME5D5zA2VRc5Q5R6+8mwthL3iIIc0bk9BhQ6uzZAqjrFH1BsSeoou4enRKPv3N5HiDw+8/Tyylv0g+beMaRiBwklTqYW1ji/umZr74jN7X02d/Y5Obtg5+CYzGq/xpHExyeq4uTsErHuIo/c3D7w+fWt3X0DE0iFds2sDIaZWd5gcn6V8NwK4dkVphfXGZtZwmBp1br8AZ3N3yysql6WAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"Datasheet-How-Retail-Consumer-Goods-Companies-Use-the-LoginRadius\"\n        title=\"Datasheet-How-Retail-Consumer-Goods-Companies-Use-the-LoginRadius\"\n        src=\"/static/58eda90d8cb3e71f78a942b87b50d167/e5715/How-Retail-Consumer-Goods-Companies-Use-the-LoginRadius.png\"\n        srcset=\"/static/58eda90d8cb3e71f78a942b87b50d167/a6d36/How-Retail-Consumer-Goods-Companies-Use-the-LoginRadius.png 650w,\n/static/58eda90d8cb3e71f78a942b87b50d167/e5715/How-Retail-Consumer-Goods-Companies-Use-the-LoginRadius.png 768w,\n/static/58eda90d8cb3e71f78a942b87b50d167/2bef9/How-Retail-Consumer-Goods-Companies-Use-the-LoginRadius.png 1024w\"\n        sizes=\"(max-width: 768px) 100vw, 768px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n    </span></a></p>\n<h3 id=\"gaming-industry\" style=\"position:relative;\"><a href=\"#gaming-industry\" aria-label=\"gaming industry permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><strong>Gaming Industry</strong></h3>\n<p><a href=\"https://www.loginradius.com/blog/2020/01/improving-customer-experience-in-the-gaming-industry/\">Gamers are taking advantage</a> of social distancing to boost gaming skills while the newbies are using games to relieve their boredom or alleviate their anxiety.</p>\n<p>No doubt, the gaming industry is gradually becoming a lucrative target <a href=\"https://securityintelligence.com/posts/player-vs-hacker-cyberthreats-to-gaming-companies-and-gamers/\">for hackers</a> to make money - mostly in exchange for in-game items for profit. </p>\n<p>Also, gamers fall under elite demographics who do not mind spending money. So, their financial status is also a big turn-on for hackers. </p>\n<h3 id=\"education-industry\" style=\"position:relative;\"><a href=\"#education-industry\" aria-label=\"education industry permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><strong>Education Industry</strong></h3>\n<p>The pandemic has reformed the online learning landscape (for good). E-learning is quickly shaping up as the new normal for the global education industry.</p>\n<p>With schools and colleges temporarily shut, the impact of the crisis is reshaping application processes and taking active care of crisis management strategies. </p>\n<p>That was the good part. Now, speaking of what went wrong, criminals are in no mood to spare this industry too. Recently, the popular online learning platform Unacademy <a href=\"https://www.business-standard.com/article/companies/unacademy-s-database-hacked-information-of-11-million-users-compromised-120050701280_1.html\">was hacked online</a>. </p>\n<p>The breach exposed details of 22 million users and listed 21,909,707 records for sale at $2,000 on darknet forums. Most of the compromised data included usernames, hashed passwords, email addresses, profile details, account status, date of joining, and last login date.</p>\n<h2 id=\"best-practices-for-companies-to-deal-with-cyber-threats-during-covid-19\" style=\"position:relative;\"><a href=\"#best-practices-for-companies-to-deal-with-cyber-threats-during-covid-19\" aria-label=\"best practices for companies to deal with cyber threats during covid 19 permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Best Practices for Companies to Deal With Cyber Threats During COVID-19</h2>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 768px; \"\n    >\n      <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 68.61538461538461%; position: relative; bottom: 0; left: 0; background-image: url('data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAOABQDASIAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAAECBf/EABYBAQEBAAAAAAAAAAAAAAAAAAMAAf/aAAwDAQACEAMQAAABx6loSAt//8QAFBABAAAAAAAAAAAAAAAAAAAAIP/aAAgBAQABBQJf/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPwE//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPwE//8QAFBABAAAAAAAAAAAAAAAAAAAAIP/aAAgBAQAGPwJf/8QAGBAAAwEBAAAAAAAAAAAAAAAAAAERECH/2gAIAQEAAT8hQ1lLyZ//2gAMAwEAAgADAAAAEKcP/8QAFhEAAwAAAAAAAAAAAAAAAAAAARAR/9oACAEDAQE/EDV//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPxA//8QAGhABAAMAAwAAAAAAAAAAAAAAAQARIRAx4f/aAAgBAQABPxAF71DNIlMbAUFT3cf/2Q=='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"Best Practices for Companies to Deal With Cyber Threats\"\n        title=\"Best Practices for Companies to Deal With Cyber Threats\"\n        src=\"/static/1f6458325bce0a341bb10dcdcf6a5834/212bf/Best-Practices-for-Companies-to-Deal-With-Cyber-Threats.jpg\"\n        srcset=\"/static/1f6458325bce0a341bb10dcdcf6a5834/6aca1/Best-Practices-for-Companies-to-Deal-With-Cyber-Threats.jpg 650w,\n/static/1f6458325bce0a341bb10dcdcf6a5834/212bf/Best-Practices-for-Companies-to-Deal-With-Cyber-Threats.jpg 768w,\n/static/1f6458325bce0a341bb10dcdcf6a5834/72e01/Best-Practices-for-Companies-to-Deal-With-Cyber-Threats.jpg 1024w\"\n        sizes=\"(max-width: 768px) 100vw, 768px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n    </span></p>\n<p>As companies across the globe are adapting to new working environments to remain socially distant, it seems like cybercriminals are competing within themselves to come up with innovative ways to devise new cyber threat for businesses and exploit new vulnerabilities. </p>\n<p>It is high time for enterprises to understand the <a href=\"https://www.loginradius.com/blog/2019/10/cybersecurity-attacks-business/\">severity of cyberattacks</a> and work in advance to mitigate those threats. Following are a few best practices:</p>\n<h3 id=\"secure-remote-working\" style=\"position:relative;\"><a href=\"#secure-remote-working\" aria-label=\"secure remote working permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><strong>Secure remote working.</strong></h3>\n<p>No matter how hard you try, remote working can never be like working from the office. There is a huge difference in attitude between the two. But when we at a more comfortable space, it is much easier to make mistakes.</p>\n<ul>\n<li>Train your employees on how to work on a remote setup. Get work from home organization policies drafted and educate employees so they can comply. </li>\n<li>Ensure that your employees' system communication at home is free from eavesdropping. Educate them on how to configure home Wi-Fi router for added security. Also, hard to guess passwords is a must. </li>\n<li>If you're working in a BYOD model, ask your employees to <a href=\"https://www.loginradius.com/blog/2019/10/cybersecurity-best-practices-for-enterprises/\">cover basic security features</a> like installing antivirus software and multi-factor authentication.</li>\n<li>All desktops, laptops and mobile devices should be patched and updated.</li>\n<li>Ensure your employees do not click or open any unknown attachment or donation links. In case of suspicion, ask them to verify first.</li>\n</ul>\n<h3 id=\"get-the-security-fundamentals-right\" style=\"position:relative;\"><a href=\"#get-the-security-fundamentals-right\" aria-label=\"get the security fundamentals right permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><strong>Get the security fundamentals right.</strong></h3>\n<p>Bear in mind that cybercriminals are always on the lookout to leverage every vulnerability in their favor to pose cyber threat for businesses. Therefore, companies should remain composed during this global crisis and plan every counteractive move.</p>\n<ul>\n<li>If your organization is working on a remote setup, train your employees to install software updates as soon as they are released. Maybe, ask your IT team to patch anti-malware apps with email and online surfing to mitigate threat vulnerabilities.</li>\n<li>Even though multi-factor authentication is in place, ensure that your employees are practicing good <a href=\"https://www.loginradius.com/blog/2018/12/infographic-the-death-of-passwords/\">password hygiene</a>. Popular recommendations include passphrases, never using the same password for different accounts, updating default passwords, adding special characters instead of just digits or letters.</li>\n<li>Keep backup of your data and regularly test processes as things pile up. Moreover, it comes handy when businesses fall victim of ransomware attacks. Not relying on just the one data backup center means not having to pay criminals to get your data back.</li>\n</ul>\n<h3 id=\"conduct-safer-meetings\" style=\"position:relative;\"><a href=\"#conduct-safer-meetings\" aria-label=\"conduct safer meetings permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><strong>Conduct safer meetings.</strong></h3>\n<p>Close to half a million Zoom (a video conferencing app) accounts were <a href=\"https://www.bleepingcomputer.com/news/security/over-500-000-zoom-accounts-sold-on-hacker-forums-the-dark-web/\">sold on the dark web</a>. Get the severity? Businesses need to be extra cautious while conducting meetings in a remote environment. Top recommendations include: </p>\n<ul>\n<li>The IT department should approve of the web-conference platform.</li>\n<li>Introduce new participants as they join in to avoid falling for imposters.</li>\n<li>Do not use the same meeting access codes for meetings. Change them occasionally.</li>\n<li>Never record meetings, unless extremely needed.</li>\n</ul>\n<h3 id=\"secure-confidential-data\" style=\"position:relative;\"><a href=\"#secure-confidential-data\" aria-label=\"secure confidential data permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><strong>Secure confidential data.</strong></h3>\n<p>Because employees are working in their network environments, it has become imperative to <a href=\"https://www.loginradius.com/security/\">secure confidential organizational data</a>. Here are some instructions businesses would want to send out:</p>\n<ul>\n<li>Restrict employees from transferring business data to personal computers.</li>\n<li>Documents with sensitive data should be locked securely outside of office hours. </li>\n<li>Do not allow employees to print documents or emails that contain sensitive data, if not necessary.</li>\n</ul>\n<h2 id=\"how-loginradius-mitigates-the-risk-for-organizations\" style=\"position:relative;\"><a href=\"#how-loginradius-mitigates-the-risk-for-organizations\" aria-label=\"how loginradius mitigates the risk for organizations permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>How LoginRadius Mitigates the Risk for Organizations</h2>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 768px; \"\n    >\n      <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 68.61538461538461%; position: relative; bottom: 0; left: 0; background-image: url('data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAOABQDASIAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAAAAEF/8QAFQEBAQAAAAAAAAAAAAAAAAAAAAP/2gAMAwEAAhADEAAAAcexSZR//8QAFBABAAAAAAAAAAAAAAAAAAAAIP/aAAgBAQABBQJf/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPwE//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPwE//8QAFBABAAAAAAAAAAAAAAAAAAAAIP/aAAgBAQAGPwJf/8QAGBAAAgMAAAAAAAAAAAAAAAAAABEBICH/2gAIAQEAAT8hrKeH/9oADAMBAAIAAwAAABCQD//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8QP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8QP//EABsQAAEEAwAAAAAAAAAAAAAAAAEAESFxEDGB/9oACAEBAAE/ECAwm1Db5l5VQv/Z'); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"Industries at Risk During COVID-19\"\n        title=\"Industries at Risk During COVID-19\"\n        src=\"/static/f15a22b24f70b1f14c1bcee917bc8e34/212bf/Industries-at-Risk-During-COVID-19.jpg\"\n        srcset=\"/static/f15a22b24f70b1f14c1bcee917bc8e34/6aca1/Industries-at-Risk-During-COVID-19.jpg 650w,\n/static/f15a22b24f70b1f14c1bcee917bc8e34/212bf/Industries-at-Risk-During-COVID-19.jpg 768w,\n/static/f15a22b24f70b1f14c1bcee917bc8e34/72e01/Industries-at-Risk-During-COVID-19.jpg 1024w\"\n        sizes=\"(max-width: 768px) 100vw, 768px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n    </span></p>\n<p>The coronavirus outbreak has pushed more people to go digital. A <a href=\"https://www.loginradius.com/blog/2019/06/customer-identity-and-access-management/\">customer identity and access management</a> (CIAM) solution like the cloud-based LoginRadius can help businesses deal with scalability and offer a secure environment to sustain the newfound digital identities. </p>\n<p>Few of the advantages for business and its customers include:</p>\n<ul>\n<li><strong>Frictionless access</strong>: With <a href=\"https://www.loginradius.com/blog/2019/05/what-is-single-sign-on/\">single sign-on (SSO)</a>, businesses can allow customers to authenticate without the need to create a new account every single time while entering into their multiple web-based services.</li>\n<li><strong>Seamless login</strong>: <a href=\"https://www.loginradius.com/social-login/\">Social login</a> reduces login issues and password fatigue. It is easy to use as customers do not need to fill out long traditional forms or remember complex credentials. They are instead authenticated using their existing social media credentials.</li>\n<li><strong>Advanced login options</strong>: Businesses can enjoy new and advanced login options like <a href=\"https://www.loginradius.com/blog/2019/10/passwordless-authentication-the-future-of-identity-and-security/\">passwordless authentication</a> where customers can authenticate and log in with a one-time link sent to their email address, phone number, and one-touch login customers can log in without the obligation to create new accounts. </li>\n<li><strong>Enhanced protection</strong>: LoginRadius offers <a href=\"https://www.loginradius.com/blog/2019/06/what-is-multi-factor-authentication/\">multi-factor authentication (MFA)</a> as an essential security feature to secure customers' sensitive data and account access. It prevents attackers from running cyber threat for businesses to a large extend. For example, MFA verifies identities by mandating customers to enter an additional code or open a link sent to their registered mobile number or email id.</li>\n<li><strong>Consent and privacy management</strong>: LoginRadius provides global <a href=\"https://www.loginradius.com/data-governance/\">data access governance</a> policies for businesses to ensure that regional data storage and other privacy compliances are met. Companies can abide by user-centric preferences laid out by international laws like the <a href=\"https://www.loginradius.com/blog/identity/ccpa-vs-gdpr-the-compliance-war/\">EU's GDPR and California's CCPA</a>.</li>\n</ul>\n<h2 id=\"conclusion\" style=\"position:relative;\"><a href=\"#conclusion\" aria-label=\"conclusion permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Conclusion </h2>\n<p>The digital space is all about identity, where cyber threat for businesses is at an all-time high. With the world on a standstill due to the pandemic, the idea of secure data governance and scalable identity management in the volatile environment should make the cut.</p>\n<p><a href=\"https://www.loginradius.com/book-a-demo/\"><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 768px; \"\n    >\n      <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 30.307692307692307%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAGCAYAAADDl76dAAAACXBIWXMAAAsTAAALEwEAmpwYAAABbElEQVQY0zVQO0/CUBQmaihthUbRhPhCAlhKEXlE3s+CCEaBwQF10riQODkwaFyMMcTFwR9gjBvRSeKko4NxcfD/fJ57C8PJbc53+r0soj8Lm5qHbS0HW6AIwZ+DXSvAESxBpJ3MMLph3+xWDlUwm2jCGa5A0isQtRIkhrH/CbdwwkDBHAJlGodexsy6wUkduknMBCfdmxCCBhZKHailfUxGm5jQKphaTUDwmaIWdigyF1oZsm7AFavBRspKuMpdTJMQO5yLbCHVPkG0cYRY4xAR9tbp3T5AsnUMT7YFqzdtOuQOSFmiyMupXUihKuzk0hWvc0xgUYlYod18tAZPrg13eg8rNIuJHSihMtVUHEUe51cLPJ5zo8oJJRJQRnHlQB6WpTjOru7w/fuH59d3PL0M8Th4w+fXDwbDD16R1ZsxCcelsyUbidQEEuC9ECap1J8nCaPTRe/2Ad3LvjkXfZxf3+O0d8P7FnwZ/AMzEsMp2f6LdQAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"book-a-free-demo-loginradius\"\n        title=\"book-a-free-demo-loginradius\"\n        src=\"/static/779ad148d33fb1ecfd80cc41f1a94ef3/e5715/Book-a-free-demo-request-1024x310.png\"\n        srcset=\"/static/779ad148d33fb1ecfd80cc41f1a94ef3/a6d36/Book-a-free-demo-request-1024x310.png 650w,\n/static/779ad148d33fb1ecfd80cc41f1a94ef3/e5715/Book-a-free-demo-request-1024x310.png 768w,\n/static/779ad148d33fb1ecfd80cc41f1a94ef3/2bef9/Book-a-free-demo-request-1024x310.png 1024w\"\n        sizes=\"(max-width: 768px) 100vw, 768px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n    </span></a></p>\n<style class=\"grvsc-styles\">\n  .grvsc-container {\n    overflow: auto;\n    -webkit-overflow-scrolling: touch;\n    padding-top: 1rem;\n    padding-top: var(--grvsc-padding-top, var(--grvsc-padding-v, 1rem));\n    padding-bottom: 1rem;\n    padding-bottom: var(--grvsc-padding-bottom, var(--grvsc-padding-v, 1rem));\n    border-radius: 8px;\n    border-radius: var(--grvsc-border-radius, 8px);\n    font-feature-settings: normal;\n  }\n  \n  .grvsc-code {\n    display: inline-block;\n    min-width: 100%;\n  }\n  \n  .grvsc-line {\n    display: inline-block;\n    box-sizing: border-box;\n    width: 100%;\n    padding-left: 1.5rem;\n    padding-left: var(--grvsc-padding-left, var(--grvsc-padding-h, 1.5rem));\n    padding-right: 1.5rem;\n    padding-right: var(--grvsc-padding-right, var(--grvsc-padding-h, 1.5rem));\n  }\n  \n  .grvsc-line-highlighted {\n    background-color: var(--grvsc-line-highlighted-background-color, transparent);\n    box-shadow: inset var(--grvsc-line-highlighted-border-width, 4px) 0 0 0 var(--grvsc-line-highlighted-border-color, transparent);\n  }\n  \n</style>","frontmatter":{"date":"May 18, 2020","updated_date":null,"description":"Cyber risks have always been a big deal for corporations. With the self-quarantined world population at home and the stock market succumbing to the ill-fated Covid-19.","title":"Protecting Organization From Cyber-Threats: Business at Risk During COVID-19","tags":["cybersecurity","data security","ciam solution"],"pinned":null,"coverImage":{"childImageSharp":{"fluid":{"aspectRatio":1.5037593984962405,"src":"/static/f96bf5fbc11694ae42e4b0519c1d81a6/33aa5/cyber-threats.jpg","srcSet":"/static/f96bf5fbc11694ae42e4b0519c1d81a6/f836f/cyber-threats.jpg 200w,\n/static/f96bf5fbc11694ae42e4b0519c1d81a6/2244e/cyber-threats.jpg 400w,\n/static/f96bf5fbc11694ae42e4b0519c1d81a6/33aa5/cyber-threats.jpg 768w","sizes":"(max-width: 768px) 100vw, 768px"}}},"author":{"id":"Rakesh Soni","github":"oyesoni","avatar":"rakesh-soni.jpg"}}}},{"node":{"excerpt":"LoginRadius has been simplifying identity management to help businesses build stronger relationships with their customers. With our…","fields":{"slug":"/identity/loginradius-ciam-china-business/"},"html":"<p>LoginRadius has been simplifying identity management to help businesses build stronger relationships with their customers.</p>\n<p>With our LoginRadius China CIAM platform, we aim to help businesses <a href=\"https://www.loginradius.com/blog/2019/10/digital-identity-management/\">securely manage digital identities</a> within the restrictive borders of mainland China.</p>\n<h2 id=\"intend-behind-the-launch\" style=\"position:relative;\"><a href=\"#intend-behind-the-launch\" aria-label=\"intend behind the launch permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Intend Behind the Launch</h2>\n<p>The Chinese online market is a lucrative hotspot for businesses with over 900 million active internet users, as of March 2020. From a digital business standpoint, it is critical for enterprises that want to expand their customer base by collecting and storing citizen's data, to understand China's cyber regime.</p>\n<p>We ensure that our LoginRadius China <a href=\"https://www.loginradius.com/blog/identity/customer-identity-and-access-management/\">customer identity and access management</a> platform meets the changing privacy regulations imposed by China, and businesses are able to streamline a hassle-free customer experience in the nation’s digital ecosystem.</p>\n<h2 id=\"key-features-of-the-loginradius-china-ciam\" style=\"position:relative;\"><a href=\"#key-features-of-the-loginradius-china-ciam\" aria-label=\"key features of the loginradius china ciam permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Key Features of the LoginRadius China CIAM</h2>\n<p><strong>Data Center</strong>: To meet the data localization regulation requirements of the Chinese government, LoginRadius owns a primary data center in China. We offer a mature operating model where data accessibility and data protection are completely transparent. Our cloud solution is highly scalable and provides up to a <strong>99.99% service level agreement guarantee</strong> with perfect deployment capabilities. </p>\n<p><strong>Chinese Social Providers</strong>: On the LoginRadius China CIAM platform, businesses can integrate APIs with native social networks like Sina Weibo, Kaixin, QQ Tencent, Renren, WeChat, along with approximately 40 other social providers. There are provisions for mobile native support for WeChat too along with the flexibility to add custom social providers.  </p>\n<p><strong>QQ Tencent Captcha</strong>: Captcha can be applied as a lockout method for brute force attacks. Because China does not support Google reCAPTCHA, LoginRadius serves QQ Tencent Captcha to ensure that the end-user is a human and not bots.</p>\n<p><strong>Multilingual Support</strong>: The LoginRadius China CIAM solution provides local language support through simplified and traditional Chinese. Businesses can easily configure language settings too.</p>\n<p><a href=\"https://www.loginradius.com/resource/loginradius-china-ciam\"><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 768px; \"\n    >\n      <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 30.307692307692307%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAGCAYAAADDl76dAAAACXBIWXMAAAsTAAALEwEAmpwYAAABgklEQVQY00VQwS+CYRz+NMtXCtUsIwpR+74VyRepT/UVpa1ZQ2wcO+BkDhy6mNlwMAf/AEejE+NgM05ccnBxMNaaOVlZDqzL4/2+ind7tt/vfZ/f83uel1L0eiFCafGi3jpahoUnPY/qWxW0eQRKVoCGi0FrE6BgBNBWHxQ9HtAVDlUW46HrC6GR9aOB8Um1rn8MLVxU6mkyUBZ0Q2UfhzG0ADaUAM3FUWcLQ0EWSe+ER1W3t3ITYIQZdHkmYebj0NmDUNnGoCaOqoIi9I5xNPcFoXeGYRiMoI1Azfj/OJRYiA6N7hjYYEKCNTCNdlcUpuA8NI4I6ogzkVzbOQyZyUWGifBAGE0ktsw0VLnz/EeWE8vpy2t85At4fs3iJZtD7u0d+cInvFNJUB0caowurGzsIfP4hOOzKxyenOPo9By39w9IX1xDSxLJu92glKIgKW7uMhDPV7GIn59vlEolqQ/MLoIyOCWOMLeE9e0DLKd2sZTakbC6uY/k2hb5az9JMoJfZU3ePxuLTFAAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"Loginradius ciam china datasheet\"\n        title=\"Loginradius ciam china datasheet\"\n        src=\"/static/ac3b7347b15afc3f29625a8d073e16f6/e5715/DS-Product-Chinese-CIAM-1024x310.png\"\n        srcset=\"/static/ac3b7347b15afc3f29625a8d073e16f6/a6d36/DS-Product-Chinese-CIAM-1024x310.png 650w,\n/static/ac3b7347b15afc3f29625a8d073e16f6/e5715/DS-Product-Chinese-CIAM-1024x310.png 768w,\n/static/ac3b7347b15afc3f29625a8d073e16f6/2bef9/DS-Product-Chinese-CIAM-1024x310.png 1024w\"\n        sizes=\"(max-width: 768px) 100vw, 768px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n    </span></a></p>\n<h2 id=\"a-final-word\" style=\"position:relative;\"><a href=\"#a-final-word\" aria-label=\"a final word permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>A Final Word</h2>\n<p>Privacy and security rule everything in China. With the LoginRadius China customer identity and access management solution, we aim to offer a mainstream business capability for businesses that drive (or aims to drive) revenue growth by leveraging the identity data of Chinese citizens.</p>\n<p>From social integration, <a href=\"https://www.loginradius.com/multi-factor-authentication/\">strong authentication</a>, local language support to meeting the standard regional regulatory compliances, they are the key areas no clients should worry about.</p>\n<p><a href=\"https://www.loginradius.com/book-a-demo/\"><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 768px; \"\n    >\n      <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 30.307692307692307%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAGCAYAAADDl76dAAAACXBIWXMAAAsTAAALEwEAmpwYAAABeElEQVQY001RuU4CURSdODrMACJgKFQiEGXfXUBg2AZnQKKIiQVqpbGhsLGg0MTCGENiYeEHGC2JVi6NsbQwNhb+z/G+GUwsTt5y3zvLvZwpIMORqsOdXYcYUcDOYqAIyV+AFDAg6ntZv7PEanBmWphM1GCO1iCFKzCzGvtHdU5/HKlCiiqQ4irsSRXWhAoxWNLJx/xF4zGB9yzDRKLTlQ6C1W3w6RZGwjXw3gxM84Yo96dsCpXJqQZbpAx7rApzbBW2pIaplRZG/TJcKRW59gHSa3tYaOwi1Riu9R1kN/fhLbQgzOXI4ZCQOXKQO2dcgZPiSHENjnQDPnkLQrAMa6iICRJypTW6a8OT28AsYSbT1A2Mh8v/IhMp+yTGWGTNiMxikohAzi2hEjj3Io7OrvD5/YP7x1fcPbzgdvCE948vDJ7fiFQhh3mKPIzrWmpigoYjEInumg3Eb4A1nfdloXS66F3eoHvaN3DSx/H5NQ57F9SqCvUxj1/TksOl/PGdLwAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"Book-a-demo-loginradius\"\n        title=\"Book-a-demo-loginradius\"\n        src=\"/static/a854d948ee1cb58ffca614fbff39f749/e5715/BD-Developers2-1024x310.png\"\n        srcset=\"/static/a854d948ee1cb58ffca614fbff39f749/a6d36/BD-Developers2-1024x310.png 650w,\n/static/a854d948ee1cb58ffca614fbff39f749/e5715/BD-Developers2-1024x310.png 768w,\n/static/a854d948ee1cb58ffca614fbff39f749/2bef9/BD-Developers2-1024x310.png 1024w\"\n        sizes=\"(max-width: 768px) 100vw, 768px\"\n        style=\"width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;\"\n        loading=\"lazy\"\n      />\n    </span></a></p>\n<style class=\"grvsc-styles\">\n  .grvsc-container {\n    overflow: auto;\n    -webkit-overflow-scrolling: touch;\n    padding-top: 1rem;\n    padding-top: var(--grvsc-padding-top, var(--grvsc-padding-v, 1rem));\n    padding-bottom: 1rem;\n    padding-bottom: var(--grvsc-padding-bottom, var(--grvsc-padding-v, 1rem));\n    border-radius: 8px;\n    border-radius: var(--grvsc-border-radius, 8px);\n    font-feature-settings: normal;\n  }\n  \n  .grvsc-code {\n    display: inline-block;\n    min-width: 100%;\n  }\n  \n  .grvsc-line {\n    display: inline-block;\n    box-sizing: border-box;\n    width: 100%;\n    padding-left: 1.5rem;\n    padding-left: var(--grvsc-padding-left, var(--grvsc-padding-h, 1.5rem));\n    padding-right: 1.5rem;\n    padding-right: var(--grvsc-padding-right, var(--grvsc-padding-h, 1.5rem));\n  }\n  \n  .grvsc-line-highlighted {\n    background-color: var(--grvsc-line-highlighted-background-color, transparent);\n    box-shadow: inset var(--grvsc-line-highlighted-border-width, 4px) 0 0 0 var(--grvsc-line-highlighted-border-color, transparent);\n  }\n  \n</style>","frontmatter":{"date":"May 14, 2020","updated_date":null,"description":"With our LoginRadius China CIAM platform, we aim to help businesses securely manage digital identities within the restrictive borders of mainland China.","title":"Announcement - LoginRadius China CIAM for Businesses to Benefit From Its Lucrative Market","tags":["industry-news"],"pinned":null,"coverImage":{"childImageSharp":{"fluid":{"aspectRatio":1.408450704225352,"src":"/static/264ba6470f4b235a308124ffe6b27a57/14b42/LoginRadius-China-CIAM.jpg","srcSet":"/static/264ba6470f4b235a308124ffe6b27a57/f836f/LoginRadius-China-CIAM.jpg 200w,\n/static/264ba6470f4b235a308124ffe6b27a57/2244e/LoginRadius-China-CIAM.jpg 400w,\n/static/264ba6470f4b235a308124ffe6b27a57/14b42/LoginRadius-China-CIAM.jpg 800w,\n/static/264ba6470f4b235a308124ffe6b27a57/47498/LoginRadius-China-CIAM.jpg 1200w,\n/static/264ba6470f4b235a308124ffe6b27a57/0e329/LoginRadius-China-CIAM.jpg 1600w,\n/static/264ba6470f4b235a308124ffe6b27a57/13721/LoginRadius-China-CIAM.jpg 2135w","sizes":"(max-width: 800px) 100vw, 800px"}}},"author":{"id":"Rakesh Soni","github":"oyesoni","avatar":"rakesh-soni.jpg"}}}}]},"markdownRemark":{"excerpt":"Identity is evolving, and developers are at the forefront of this transformation. Every day brings a new learning—adapting to new standards…","fields":{"slug":"/identity/developer-first-identity-provider-loginradius/"},"html":"<p>Identity is evolving, and developers are at the forefront of this transformation. Every day brings a new learning—adapting to new standards and refining approaches to building secure, seamless experiences.</p>\n<p>We’re here to support developers on that journey. We know how important simplicity, efficiency, and well-structured documentation are when working with identity and access management solutions. That’s why we’ve redesigned the <a href=\"https://www.loginradius.com/\">LoginRadius website</a>—to be faster, more intuitive, and developer-first in every way.</p>\n<p>The goal? Having them spend less time searching and more time building.</p>\n<h2 id=\"whats-new-and-improved-on-the-loginradius-website\" style=\"position:relative;\"><a href=\"#whats-new-and-improved-on-the-loginradius-website\" aria-label=\"whats new and improved on the loginradius website permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>What’s New and Improved on the LoginRadius Website?</h2>\n<p>LoginRadius’ vision is to give developers a product that simplifies identity management so they can focus on building, deploying, and scaling their applications. To enhance this experience, we’ve spent the last few months redesigning our interface— making navigation more intuitive and reassuring that essential resources are easily accessible.</p>\n<p>Here’s a closer look at what’s new and why it’s important:</p>\n<h3 id=\"a-developer-friendly-dark-theme\" style=\"position:relative;\"><a href=\"#a-developer-friendly-dark-theme\" aria-label=\"a developer friendly dark theme permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>A Developer-Friendly Dark Theme</h3>\n<p><img src=\"/f46881583c7518a93bb24e94c32320de/a-developer-friendly-dark-theme.webp\" alt=\"This image shows how LoginRadius offers several authentication methods like traditional login, social login, passwordless login, passkeys and more in a dark mode.\">    </p>\n<p>Developers spend long hours working in dark-themed IDEs and terminals, so we’ve designed the LoginRadius experience to be developer-friendly and align with that preference.</p>\n<p>The new dark mode reduces eye strain, enhances readability, and provides a seamless transition between a coding environment and our platform. Our new design features a clean, modern aesthetic with a consistent color scheme and Barlow typography, ensuring better readability. High-quality graphics and icons are thoughtfully placed to enhance the content without adding visual clutter.</p>\n<p>So, whether you’re navigating our API docs or configuring authentication into your system, our improved interface will make those extended development hours more comfortable and efficient.</p>\n<h3 id=\"clear-categorization-for-loginradius-capabilities\" style=\"position:relative;\"><a href=\"#clear-categorization-for-loginradius-capabilities\" aria-label=\"clear categorization for loginradius capabilities permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Clear Categorization for LoginRadius Capabilities</h3>\n<p><img src=\"/e5358b82be414940f3fb146013845933/capabilities.webp\" alt=\"This image shows a breakdown of all the LoginRadius CIAM capabilities, including authentication, security, UX, scalability and multi-brand management.\"></p>\n<p>We’ve restructured our website to provide a straightforward breakdown of our customer identity and access management platform capabilities, helping you quickly find what you need:</p>\n<ul>\n<li>Authentication: Easily understand <a href=\"https://www.loginradius.com/blog/identity/authentication-option-for-your-product/\">how to choose the right login method</a>, from traditional passwords and OTPs to social login, federated SSO, and passkeys with few lines of code.</li>\n<li>Security: Implement no-code security features like bot detection, IP throttling, breached password alerts, DDoS protection, and adaptive MFA to safeguard user accounts.</li>\n<li>User Experience: Leverage AI builder, hosted pages, and drag-and-drop workflows to create smooth, branded sign-up and login experiences.</li>\n<li>High Performance &#x26; Scalability: Confidently scale with sub-100ms API response times, 100% uptime, 240K+ RPS, and 28+ global data center regions.</li>\n<li>Multi-Brand Management: Efficiently manage multiple identity apps, choosing isolated or shared data stores based on your brand’s unique needs.</li>\n</ul>\n<p>This structured layout ensures you can quickly understand each capability and how it integrates into your identity ecosystem.</p>\n<h3 id=\"developer-first-navigation\" style=\"position:relative;\"><a href=\"#developer-first-navigation\" aria-label=\"developer first navigation permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Developer-First Navigation</h3>\n<p><img src=\"/a8c155c2b6faf3d5f4b4de4e2b14d763/developers-menu.webp\" alt=\"This image shows the LoginRadius menu bar, highlighting the developer dropdown.\">   </p>\n<p>We’ve been analyzing developer workflows to identify how you access key resources. That’s why we redesigned our navigation with one goal in mind: to reduce clicks and make essential resources readily available.</p>\n<p>The new LoginRadius structure puts APIs, SDKs, and integration guides right at the menu bar under the Developers dropdown so you can get started faster. Our Products, Solutions, and Customer Services are also clearly categorized, helping development teams quickly find the right tools and make informed decisions.</p>\n<h3 id=\"quick-understanding-of-integration-benefits\" style=\"position:relative;\"><a href=\"#quick-understanding-of-integration-benefits\" aria-label=\"quick understanding of integration benefits permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Quick Understanding of Integration Benefits</h3>\n<p><img src=\"/b2f9a964a2da0ea83e2f8596b833bba7/we-support-your-tech-stack.webp\" alt=\"This image shows a list of popular programming languages and frameworks offered by LoginRadius.\"></p>\n<p>Developers now have a clear view of the tech stack available with LoginRadius, designed to support diverse business needs.</p>\n<p>Our platform offers pre-built SDKs for Node.js, Python, Java, and more, making CIAM integration seamless across popular programming languages and frameworks.</p>\n<h2 id=\"over-to-you-now\" style=\"position:relative;\"><a href=\"#over-to-you-now\" aria-label=\"over to you now permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Over to You Now!</h2>\n<p>Check out our <a href=\"https://www.loginradius.com/\">revamped LoginRadius website</a> and see how the improved experience makes it easier to build, scale, and secure your applications.</p>\n<p>Do not forget to explore the improved navigation and API documentation, and get started with our free trial today. We’re excited to see what you’ll build with LoginRadius!</p>\n<style class=\"grvsc-styles\">\n  .grvsc-container {\n    overflow: auto;\n    -webkit-overflow-scrolling: touch;\n    padding-top: 1rem;\n    padding-top: var(--grvsc-padding-top, var(--grvsc-padding-v, 1rem));\n    padding-bottom: 1rem;\n    padding-bottom: var(--grvsc-padding-bottom, var(--grvsc-padding-v, 1rem));\n    border-radius: 8px;\n    border-radius: var(--grvsc-border-radius, 8px);\n    font-feature-settings: normal;\n  }\n  \n  .grvsc-code {\n    display: inline-block;\n    min-width: 100%;\n  }\n  \n  .grvsc-line {\n    display: inline-block;\n    box-sizing: border-box;\n    width: 100%;\n    padding-left: 1.5rem;\n    padding-left: var(--grvsc-padding-left, var(--grvsc-padding-h, 1.5rem));\n    padding-right: 1.5rem;\n    padding-right: var(--grvsc-padding-right, var(--grvsc-padding-h, 1.5rem));\n  }\n  \n  .grvsc-line-highlighted {\n    background-color: var(--grvsc-line-highlighted-background-color, transparent);\n    box-shadow: inset var(--grvsc-line-highlighted-border-width, 4px) 0 0 0 var(--grvsc-line-highlighted-border-color, transparent);\n  }\n  \n</style>","frontmatter":{"date":"February 21, 2025","updated_date":null,"description":"LoginRadius’ vision is to give developers a product that simplifies identity management so they can focus on building, deploying, and scaling their applications. To enhance this experience, we’ve redesigned our website interface, making navigation more intuitive and reassuring that essential resources are easily accessible.","title":"Revamped & Ready: Introducing the New Developer-First LoginRadius Website","tags":["Developer tools","API","Identity Management","User Authentication"],"pinned":true,"coverImage":{"childImageSharp":{"fluid":{"aspectRatio":1.7857142857142858,"src":"/static/80b4e4fbe176a10a327d273504607f32/58556/hero-section.webp","srcSet":"/static/80b4e4fbe176a10a327d273504607f32/61e93/hero-section.webp 200w,\n/static/80b4e4fbe176a10a327d273504607f32/1f5c5/hero-section.webp 400w,\n/static/80b4e4fbe176a10a327d273504607f32/58556/hero-section.webp 800w,\n/static/80b4e4fbe176a10a327d273504607f32/99238/hero-section.webp 1200w,\n/static/80b4e4fbe176a10a327d273504607f32/7c22d/hero-section.webp 1600w,\n/static/80b4e4fbe176a10a327d273504607f32/1258b/hero-section.webp 2732w","sizes":"(max-width: 800px) 100vw, 800px"}}},"author":{"id":"Rakesh Soni","github":"oyesoni","avatar":"rakesh-soni.jpg"}}}},"pageContext":{"limit":6,"skip":780,"currentPage":131,"type":"///","numPages":161,"pinned":"ee8a4479-3471-53b1-bf62-d0d8dc3faaeb"}},"staticQueryHashes":["1171199041","1384082988","2100481360","23180105","528864852"]}