{"componentChunkName":"component---src-templates-blog-list-template-js","path":"/74","result":{"data":{"allMarkdownRemark":{"edges":[{"node":{"excerpt":"When you visit a website, it may store some basic information about you, such as your IP address, the operating system on your computer, the…","fields":{"slug":"/identity/pii-compliance-enterprise/"},"html":"<p>When you visit a website, it may store some basic information about you, such as your IP address, the operating system on your computer, the browser you use, ISP used to connect, location, screen resolution, etc. Some websites store login cookies on your computer, so you don't have to log in every time you visit them. </p>\n<p>But this is not all. When browsing online, you also leave enough breadcrumbs for websites and web applications to identify you. </p>\n<p>We often talk about personally identifiable information (PII), but few users know precisely what it is. </p>\n<p>Besides, there are many ways to manage personal information. Having said that, it is one thing when you <a href=\"https://www.loginradius.com/blog/identity/consumer-data-privacy-security/\">protect your PII from potential exploitation</a>, and it's entirely different when a third party manages it for you. </p>\n<p>So, let us take a deep dive to discover the term personally identifiable information or PII.</p>\n<h2 id=\"what-is-personally-identifiable-information\" style=\"position:relative;\"><a href=\"#what-is-personally-identifiable-information\" aria-label=\"what is personally identifiable information 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 is Personally Identifiable Information</h2>\n<p>Data that helps identify a specific individual is called personally identifiable information, or PII in short. For example, your social security number is a good example of** **PII Compliance because it is unique, and the number itself will lead someone to find you directly.</p>\n<p> In addition to this, your full name, driver's license ID, email address, bank account information, password, or phone number can also be considered personally identifiable information.</p>\n<p>PII has a principal role in network security, especially when it comes to data breaches and identity theft. For example, if a company that manages personal information encounters a data breach, its customers will likely suffer personal identity theft because the company-managed data will be stolen.</p>\n<p><a href=\"https://www.loginradius.com/resource/pii-data-breach-report/\"><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,iVBORw0KGgoAAAANSUhEUgAAABQAAAAGCAYAAADDl76dAAAACXBIWXMAAAsSAAALEgHS3X78AAABaElEQVQY00WQOU8CURSFiYXADBECBBzRAUEWZRFFhnHYR1ZBE7VRpDCWJC6NlWhjxS/RykQbozEx0YrG0sbCn3K882C0OHnv5t733XOewRzKQRMXzoGPFGAh8WNx4Tz0vibTggIuqsIp78CR2IA5VoEpUoQpmIVpPGMYwfJwxkuwhRVYAjIpQ7UK92oN1miJPWDAIPXjVYjlA0Sr++CkXRjjNXAhvZ8dAbWLX25BaXeRUPfgSaoMyvslWJfGDkiO5Qo86SbcK1VMp+rwZjYhZloQ1prgyRQD6tuFZAV+qQFfug5XrMhg/HyaAfXIxoUsbDEVswSZk9sQ17cI3PhLwCJrhfZftgg59aZgFEl0avepoAx7rMz6BiGJXn+Ar+8f3D+94fbhGXePL3gffuL1Y0iLypgMKP9AR7TAABy5shPcRfUMRRcompFmJnwSpO0j9C4HODy7Quekj85pH8cXN+ieX8OyWGBzvw4LwSbThPvuAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"RP-Protecting-PII-Against-Data-Breaches\"\n        title=\"RP-Protecting-PII-Against-Data-Breaches\"\n        src=\"/static/8ae28768fa7a47b91a86b0e9441f9c50/e5715/RP-Protecting-PII-Against-Data-Breaches.png\"\n        srcset=\"/static/8ae28768fa7a47b91a86b0e9441f9c50/a6d36/RP-Protecting-PII-Against-Data-Breaches.png 650w,\n/static/8ae28768fa7a47b91a86b0e9441f9c50/e5715/RP-Protecting-PII-Against-Data-Breaches.png 768w,\n/static/8ae28768fa7a47b91a86b0e9441f9c50/63ff0/RP-Protecting-PII-Against-Data-Breaches.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<p>The information related to this is stored with online marketers and brokers who trade your data to various companies that \"want to show you appropriate ads\" and provide you with an \"improved user experience.\"</p>\n<h3 id=\"key-takeaways\" style=\"position:relative;\"><a href=\"#key-takeaways\" aria-label=\"key takeaways 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 takeaways</h3>\n<ul>\n<li>Personally identifiable information (PII) can identify a person when used alone or with other relevant data.</li>\n<li>Confidential identifying information can include your full name, social security number, driver's license, financial information, and medical records.</li>\n<li>Non-confidential personally identifiable information is easily accessible from public sources and may include your zip code, race, gender, and date of birth.</li>\n</ul>\n<h2 id=\"importance-of-pii-compliance\" style=\"position:relative;\"><a href=\"#importance-of-pii-compliance\" aria-label=\"importance of pii compliance 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>Importance of PII Compliance</h2>\n<p>Advanced technology platforms have changed the way companies operate, government legislation, and personal contact. With the help of digital tools such as mobile phones, the Internet, e-commerce, and social media, the supply of all kinds of data has surged.</p>\n<p>Such data is collected, analyzed, and processed by enterprises and shared with other companies. The large amount of information enables companies to gain insights into how to better interact with customers.</p>\n<p>However, the emergence of big data has also increased the number of data breaches and cyberattacks by entities that realize the value of this information. As a result, people are concerned about how companies handle sensitive information about their customers. Regulators are seeking new laws to protect consumer data, and users are looking for more anonymous ways to stay digital.</p>\n<h2 id=\"protection-of-personally-identifiable-information\" style=\"position:relative;\"><a href=\"#protection-of-personally-identifiable-information\" aria-label=\"protection of personally identifiable information 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>Protection of Personally Identifiable Information</h2>\n<p>Many countries/regions have adopted multiple data protection laws like the GDPR, CCPA to create guidelines for companies collecting, storing, and sharing customers' personal information. Some basic principles outlined in these laws stipulate that certain sensitive information should not be collected except in extreme circumstances.</p>\n<p>In addition, the regulatory guidelines also stipulate that if the data is no longer needed for its intended purpose, it should be deleted, and personal information should not be shared with sources whose protection cannot be guaranteed. Moreover, supervision and protection of personally identifiable information may become a significant issue for individuals, companies, and governments in the coming years.</p>\n<h3 id=\"selling-the-stolen-data\" style=\"position:relative;\"><a href=\"#selling-the-stolen-data\" aria-label=\"selling the stolen 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>Selling the stolen data</h3>\n<p>Cybercriminals compromise data systems to access PII and then sell it to buyers willing to buy in the underground digital market. For example, the <a href=\"https://www.usatoday.com/story/tech/2015/05/26/irs-breach-100000-accounts-get-transcript/27980049/\">Internal Revenue Service (IRS) in the US suffered a data breach</a> that resulted in the theft of the personally identifiable information of more than 100,000 taxpayers. Criminals used quasi-information stolen from multiple sources to access the IRS website application by answering personal verification questions that should belong only to taxpayers.</p>\n<h3 id=\"adopting-pii-compliance\" style=\"position:relative;\"><a href=\"#adopting-pii-compliance\" aria-label=\"adopting pii compliance 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>Adopting PII compliance</h3>\n<p>Without considering the type or size of any company, all organizations must have some detailed and <a href=\"https://www.loginradius.com/blog/identity/privacy-compliance/\">comprehensive knowledge of PII compliance</a> it collects and how it can be utilized. The companies must have legal knowledge about which among the various country and state regulations related to PII is applied to some specific situation related to them. Also, it is important to consider that adopting acceptable use of privacy policies associated with this particular data can be advantageous.</p>\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 security of personal identity and other details is at increasing risk today, with hackers finding new ways to hack into websites. Therefore, enterprises of all sizes must maintain PII compliance to protect the information of the company and its users. With PII compliance, businesses can maintain<a href=\"https://www.loginradius.com/blog/identity/data-security-best-practices/\"> improved data security</a>. </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-a-demo-loginradius\"\n        title=\"book-a-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":"July 07, 2021","updated_date":null,"description":"The security of personal identity and other details is at increasing risk today, with hackers finding new ways to hack into websites. Therefore, enterprises of all sizes must maintain PII compliance to protect the information of the company and its users.","title":"Understanding PII Compliance: A Key to Enterprise Data Security","tags":["data security","enterprise security","compliance"],"pinned":null,"coverImage":{"childImageSharp":{"fluid":{"aspectRatio":1.9801980198019802,"src":"/static/46472e472a5f0be34434d9d5994b5f2d/14b42/pii-compliance-enterprise-cover.jpg","srcSet":"/static/46472e472a5f0be34434d9d5994b5f2d/f836f/pii-compliance-enterprise-cover.jpg 200w,\n/static/46472e472a5f0be34434d9d5994b5f2d/2244e/pii-compliance-enterprise-cover.jpg 400w,\n/static/46472e472a5f0be34434d9d5994b5f2d/14b42/pii-compliance-enterprise-cover.jpg 800w,\n/static/46472e472a5f0be34434d9d5994b5f2d/16310/pii-compliance-enterprise-cover.jpg 1024w","sizes":"(max-width: 800px) 100vw, 800px"}}},"author":{"id":"Rakesh Soni","github":"oyesoni","avatar":"rakesh-soni.jpg"}}}},{"node":{"excerpt":"Authentication and user identity management are challenging tasks you are bound to run into when building applications. For example, you…","fields":{"slug":"/engineering/guest-post/user-authentication-in-python/"},"html":"<p>Authentication and user identity management are challenging tasks you are bound to run into when building applications. For example, you will need to create profiles for users, validate provided passwords, implement a password reset functionalities, manage user sessions (sometimes on multiple devices), manage social media authentication, and many others.</p>\n<p>You still have to work on other parts of your application, and you might not have a lot of time. A lot of developers might hack their way through authentication, but that could lead to improper implementations. It is not advisable to do this as you can create doorways for cyber-related attacks in your application.</p>\n<p>In this tutorial, you will learn how to properly implement user authentication and identity management in a Flask application.</p>\n<blockquote>\n<p>Here for the code alone? Head over to the <a href=\"#integrating-loginradius-with-python-and-flask\">implementation section</a> of this article or visit this <a href=\"https://gist.github.com/LordGhostX/01e9330dc4533a992a481fcd58fdd115\">GitHub gist</a> to browse demo code.</p>\n</blockquote>\n<h2 id=\"introduction\" style=\"position:relative;\"><a href=\"#introduction\" aria-label=\"introduction 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>Introduction</h2>\n<h3 id=\"what-is-user-authentication\" style=\"position:relative;\"><a href=\"#what-is-user-authentication\" aria-label=\"what is user authentication 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 Is User Authentication?</h3>\n<p>User authentication is the process of validating a person’s identity to ascertain that they are who they claim to be. Authentication is achievable using passwords, one-time pins (OTP), biometrics, authentication apps, access tokens, certificates, and many more.</p>\n<h3 id=\"what-is-user-identity\" style=\"position:relative;\"><a href=\"#what-is-user-identity\" aria-label=\"what is user identity 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 Is User Identity?</h3>\n<p>User identity is an entity used to identify a user of an application uniquely. Forms of user identifiers include full names, email addresses, system-generated values, and <a href=\"https://en.wikipedia.org/wiki/Universally_unique_identifier\">UUIDs</a>.</p>\n<h3 id=\"what-is-an-identity-provider\" style=\"position:relative;\"><a href=\"#what-is-an-identity-provider\" aria-label=\"what is an identity provider 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 Is an Identity Provider?</h3>\n<p>An identity provider is a system that helps create, maintain, and manage user identity information. It also provides authentication services to external applications to ease their authentication flow and make it seamless.</p>\n<h2 id=\"what-is-authentication-in-python\" style=\"position:relative;\"><a href=\"#what-is-authentication-in-python\" aria-label=\"what is authentication in python 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 Is Authentication in Python?</h2>\n<p>When referring to authentication in <a href=\"https://www.python.org\">Python</a>, we talk about user authentication concerning web applications built with it. Python is actively used in making web applications with many supporting frameworks, including but not limited to <a href=\"https://flask.palletsprojects.com/en/2.0.x/\">Flask</a>, Django, FastAPI, Bottle, and Hug.</p>\n<p>Every web application built with Python at one point or another would need to implement user authentication features. This article will cover implementing authentication and proper handling of user identity information using <a href=\"https://loginradius.com\">LoginRadius</a> and Flask.</p>\n<h2 id=\"getting-started-with-loginradius\" style=\"position:relative;\"><a href=\"#getting-started-with-loginradius\" aria-label=\"getting started with loginradius 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>Getting Started with LoginRadius</h2>\n<h3 id=\"what-is-loginradius\" style=\"position:relative;\"><a href=\"#what-is-loginradius\" aria-label=\"what is loginradius 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 Is LoginRadius?</h3>\n<p><a href=\"https://accounts.loginradius.com/auth.aspx?action=register&#x26;return_url=https://dashboard.loginradius.com/login\">LoginRadius</a> is a cloud-based consumer identity and access management (CIAM) platform that allows seamless user authentication and SSO integration into your application. LoginRadius is simple to use, completely secure, and highly customizable.</p>\n<p>To proceed with this tutorial, you will need an account with LoginRadius. If you have not created one before now, create one on the <a href=\"https://accounts.loginradius.com/auth.aspx?action=register&#x26;return_url=https://dashboard.loginradius.com/login\">LoginRadius website</a>.</p>\n<h3 id=\"benefits-of-using-loginradius\" style=\"position:relative;\"><a href=\"#benefits-of-using-loginradius\" aria-label=\"benefits of using loginradius 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>Benefits of Using LoginRadius</h3>\n<ul>\n<li>It simplifies user management.</li>\n<li>It provides unmatched data, user, and account security.</li>\n<li>It ensures automatic privacy compliance.</li>\n<li>It integrates seamlessly into your applications.</li>\n<li>It provides scalable infrastructure.</li>\n</ul>\n<h1 id=\"integrating-loginradius-with-python-and-flask\">Integrating LoginRadius with Python and Flask</h1>\n<ul>\n<li>This section covers setting up the demo application that we will be integrating LoginRadius into in the remaining parts of the tutorial.</li>\n<li>It also covers LoginRadius integration with the Python and Flask demo application code.</li>\n</ul>\n<h3 id=\"acquiring-loginradius-api-credentials\" style=\"position:relative;\"><a href=\"#acquiring-loginradius-api-credentials\" aria-label=\"acquiring loginradius api credentials 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>Acquiring LoginRadius API Credentials</h3>\n<p>Login to your <a href=\"https://accounts.loginradius.com/auth.aspx?return_url=https://dashboard.loginradius.com/login\">LoginRadius dashboard</a>, then navigate to the app you want to integrate with Python (LoginRadius will set up a free app for you when you create an account).</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: 48.76923076923077%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAKCAYAAAC0VX7mAAAACXBIWXMAAAsTAAALEwEAmpwYAAACC0lEQVQoz3VSy2oUQRQtdxpRMRGyMAFF1KhEicbFEGciJiiI4CLiwrUBF/6EC3/FRX7AlV8ggkFMFjIagk5Pz0y/u6u6uqv6eG81Mxux4FDU69Q5516xcP8ZljvPIa50sfXqLUxdIcsy6NogkZrWNer/gM+iQiNTGkmSIKV34uzqNhbXn0Jc6mDz5Rt4nodvB4fo/zyC54/gDX0MPMLwX0zP/OGY0N4V5289xOLaY4iLd9Hd2UVRFPjjDeGPxgjCEFGcIM8LZHlOaOfZOsudqkE8xiCh+1FECm9uYn71EcTSPXRf7ALWYjKZIElTIoshpXT2KkZVEdrZWAMeh/I33v34gPf9PXwN+xDnSOGFO9st4c5rNE3jsispQ20sElVDaSIwBjXBTMGEDTBQIT6N9vE5OcDHX8cQZ270MH97C2J53RHWVJQ4ndorkBJUSR9ojYLU5hQJzwzeM7qG1ZbIG3w5jiFOXt3A3PWuy7BHlrnKPhUjCIIWlKOmh6xck1KOwvd9FwvHoZSCaSwsyc1pLU5de4DTK91ZURo6TAoFWbGtxv1sKVcenF0uFVJZujtpId1n01GVigk3wLanGVoiiCm3UNZEameErLAsSyIskZLFSBmUpnH7baYWRwH14dxKDwtrT3DicsdVWSnpeswfTzAk6yFZZpspge1zOzG4R4Mwcpb5o0KV2Pvu4y/EuKSF93wBVwAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"LoginRadius Dashboard\"\n        title=\"LoginRadius Dashboard\"\n        src=\"/static/f9afbe9d84c5cdd2af1ccf545eea1e27/e5715/pw6s1mqnn-yrtard7nbx.png\"\n        srcset=\"/static/f9afbe9d84c5cdd2af1ccf545eea1e27/a6d36/pw6s1mqnn-yrtard7nbx.png 650w,\n/static/f9afbe9d84c5cdd2af1ccf545eea1e27/e5715/pw6s1mqnn-yrtard7nbx.png 768w,\n/static/f9afbe9d84c5cdd2af1ccf545eea1e27/29007/pw6s1mqnn-yrtard7nbx.png 1600w\"\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>Next, head over to the <code>Configuration</code> tab on the LoginRadius sidebar (left side of the screen).</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: 40.76923076923077%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAICAIAAAB2/0i6AAAACXBIWXMAAAsTAAALEwEAmpwYAAABO0lEQVQY012R3UrDMBzFA7KCY+jA4aWog1ZX8etGhY3VOZnXE7zx4XwM38J7X0DXrU2az3ZN1vlvw4p6OAn/0hx+6SlqXz0d9KdO78GfvIbhnDGmsiURabbMai9/KeIplynGWEiJWmejzvWk4fa90cvX94xShkmSMC6E/GdeWsAbMOcixgS1/WD/8tHp3rrDKTxTxsL5Ag7lWgMnz3NYlqm1Xlcqqp0xjnZ7Qedi3OjeucFzFGNtjNYGDlit/qrYCMI4YWjndLh3Pm4cl2EgK6UwJmmaVbJsIJdwY4wlmyr89jFDrZNB2793LBkTqCGK4oQyqZTMMrhILUss1oUNv39GqOn1t73B1uGNV5HhawmlZV1SwYIBuoEdZr0hWwnOynATwkdleBFhuCb8JWgrr1WP0Jg21sasSEJ/AIwagyczfrINAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"LoginRadius Configuration\"\n        title=\"LoginRadius Configuration\"\n        src=\"/static/2541852fcbc5a0ae25b8107c1e6fe890/e5715/i_alrgdnugpmtschkuuj.png\"\n        srcset=\"/static/2541852fcbc5a0ae25b8107c1e6fe890/a6d36/i_alrgdnugpmtschkuuj.png 650w,\n/static/2541852fcbc5a0ae25b8107c1e6fe890/e5715/i_alrgdnugpmtschkuuj.png 768w,\n/static/2541852fcbc5a0ae25b8107c1e6fe890/29007/i_alrgdnugpmtschkuuj.png 1600w\"\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>Your API credentials are located under the <code>API Key And Secret</code> section. Once you have retrieved this, copy the <code>APP Name</code>, <code>API Key</code>, and <code>API Secret</code> and store them somewhere secure and easily retrievable.</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: 53.38461538461539%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAIAAADwazoUAAAACXBIWXMAAAsTAAALEwEAmpwYAAABAklEQVQoz41Sy07EMAzMv/M1fAMS4obEgQO3PYEAsW3zqJPm2ZDCJEVQrdRdRpYTWbVnxin7/EP5+jeWBjYSDZz3wyCVSvOcc8YYpNyQUqvNGccKVFBfR7DJOiEU5wL9mIJLy7xXNFrnvA8hhhBchQdQiyn9NGMM5pVSqu4GXBYckHVJPCMy3SAcCELyIfrKU3OO8V2Hg4rV4W6zsR2XatQjmd9QZPw0PX7o21eLj8pONzxb2FjVnqIs5ax0bNsceykkbYMLcqTvntX1gc4xg5a0Xl/oBBdXxuC2G6rnbUilrdZPR3N13928mD1yluZcXzKmbfiY8Ddwlx4692bmvYV/A5sxgDde+J2+AAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"LoginRadius API credentials\"\n        title=\"LoginRadius API credentials\"\n        src=\"/static/c287d39ecf351e1775a3e5e8d1c4ba8b/e5715/7lev6yc_ebtxcg62wrbe.png\"\n        srcset=\"/static/c287d39ecf351e1775a3e5e8d1c4ba8b/a6d36/7lev6yc_ebtxcg62wrbe.png 650w,\n/static/c287d39ecf351e1775a3e5e8d1c4ba8b/e5715/7lev6yc_ebtxcg62wrbe.png 768w,\n/static/c287d39ecf351e1775a3e5e8d1c4ba8b/1acf3/7lev6yc_ebtxcg62wrbe.png 1596w\"\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<h3 id=\"whitelisting-your-domains\" style=\"position:relative;\"><a href=\"#whitelisting-your-domains\" aria-label=\"whitelisting your domains 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>Whitelisting Your Domains</h3>\n<p>LoginRadius requires you to whitelist domains you will be integrating with your app. To whitelist, a domain, scroll down to the <code>Whitelist Your Domain</code> section in the <code>Configuration</code> tab of your app dashboard and add it.</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: 45.69230769230769%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAJCAIAAAC9o5sfAAAACXBIWXMAAAsTAAALEwEAmpwYAAAA+klEQVQoz41RSVLEMAzMs3kAP+IFnLhy5UrILCRxkokXyZJtOhkCE+ZCV5eskktuqV0552drrXNr4gJRjMIRkGvyQ2K+pfOhCsTv9UdzOB5P57pphmFEvw/BexBn8CuZueyhqhXeMONkhmGhGXtj2q7v+h7xs+0QQRQRmONvZy4iUnEUSRlIK5Ysl7wd5TvNy8VemdGM5YhIRMsdSHOQdF+/vnOhCOUIq5LqKqwbU8np8eXw8Fz/VdzgWSqMDmPgNiyRPXpLnSXdA+tZH15Pc4gYW2S28zhNtHzSDkkkq9xWMKaqmPHy9NZajsvOEIlL9V/AgrD9NBNx/AKMSQv4EBNfaQAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"Domain Whitelisting\"\n        title=\"Domain Whitelisting\"\n        src=\"/static/3217ad727ff6eb3316cc85e9fee569e7/e5715/5ng50vbosmuhdhfuz-gi.png\"\n        srcset=\"/static/3217ad727ff6eb3316cc85e9fee569e7/a6d36/5ng50vbosmuhdhfuz-gi.png 650w,\n/static/3217ad727ff6eb3316cc85e9fee569e7/e5715/5ng50vbosmuhdhfuz-gi.png 768w,\n/static/3217ad727ff6eb3316cc85e9fee569e7/29007/5ng50vbosmuhdhfuz-gi.png 1600w\"\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<blockquote>\n<p>By default, LoginRadius whitelists your local computer (localhost).</p>\n</blockquote>\n<h3 id=\"installing-loginradius-python-sdk\" style=\"position:relative;\"><a href=\"#installing-loginradius-python-sdk\" aria-label=\"installing loginradius python sdk 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>Installing LoginRadius Python SDK</h3>\n<p>We need to install the LoginRadius Python SDK. It provides functionalities that allow Python programs to communicate with LoginRadius APIs.</p>\n<p>In the terminal, type:</p>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"bash\" data-index=\"0\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"mtk1\">pip install LoginRadius-v2 requests cryptography pbkdf2</span></span></code></pre>\n<h3 id=\"setting-up-our-flask-server\" style=\"position:relative;\"><a href=\"#setting-up-our-flask-server\" aria-label=\"setting up our flask server 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>Setting up Our Flask Server</h3>\n<p>First, we need to install the Flask framework from PyPI. In the terminal, type:</p>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"bash\" data-index=\"1\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"mtk1\">pip install flask</span></span></code></pre>\n<p>After that, create a file named <code>server.py</code> and save the following code in it:</p>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"python\" data-index=\"2\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"mtk15\">from</span><span class=\"mtk1\"> flask </span><span class=\"mtk15\">import</span><span class=\"mtk1\"> *</span></span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">app = Flask(</span><span class=\"mtk12\">__name__</span><span class=\"mtk1\">)</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">app.config[</span><span class=\"mtk8\">&quot;SECRET_KEY&quot;</span><span class=\"mtk1\">] = </span><span class=\"mtk8\">&quot;SECRET_KEY&quot;</span></span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\"><span class=\"mtk11\">@app.route</span><span class=\"mtk1\">(</span><span class=\"mtk8\">&quot;/&quot;</span><span class=\"mtk1\">)</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk4\">def</span><span class=\"mtk1\"> </span><span class=\"mtk11\">index</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=\"mtk8\">&quot;Hello World!&quot;</span></span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\"><span class=\"mtk15\">if</span><span class=\"mtk1\"> </span><span class=\"mtk12\">__name__</span><span class=\"mtk1\"> == </span><span class=\"mtk8\">&quot;__main__&quot;</span><span class=\"mtk1\">:</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    app.run(</span><span class=\"mtk12\">debug</span><span class=\"mtk1\">=</span><span class=\"mtk4\">True</span><span class=\"mtk1\">)</span></span></code></pre>\n<p>When you run the <code>server.py</code> script and open your browser, you will get a response similar to the image below:</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: 44.61538461538462%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAJCAIAAAC9o5sfAAAACXBIWXMAAAsTAAALEwEAmpwYAAAA40lEQVQoz2OI082Mtck2MojXlwj3MWoNNu8Nsepz125xVK53Uql3VKl31WgylAtVk3BQEbdHQwyxhoVeWjWWaoVG0qnmSpmWKjlWqjmmCpkm8lnmSrlAZKVWoK8QoSHjoyblrSrphYwYLLVjjdVjzdRjLbUTdJQCtBT9QEjB10gzwtYszcYk1cU2x9Eq29Y0w0w3yVAj1kgzDo4YDu49vmfn4Z3bDp46cfnmtYfXL9+/fgWGroLQtSsPrl29d+3KPQgXGTH8+/f3778/f//+/v//338SAQMy5x+JgOE/BWDgNAMA2huISzFg+LkAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"Hello World\"\n        title=\"Hello World\"\n        src=\"/static/1947174e905bcfeb6e51672185574dd9/e5715/vordrrnvz-vekwuickak.png\"\n        srcset=\"/static/1947174e905bcfeb6e51672185574dd9/a6d36/vordrrnvz-vekwuickak.png 650w,\n/static/1947174e905bcfeb6e51672185574dd9/e5715/vordrrnvz-vekwuickak.png 768w,\n/static/1947174e905bcfeb6e51672185574dd9/525d3/vordrrnvz-vekwuickak.png 1090w\"\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<h3 id=\"initializing-the-loginradius-sdk\" style=\"position:relative;\"><a href=\"#initializing-the-loginradius-sdk\" aria-label=\"initializing the loginradius sdk 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>Initializing the LoginRadius SDK</h3>\n<p>Update the <code>server.py</code> file with the code below:</p>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"python\" data-index=\"3\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"mtk15\">from</span><span class=\"mtk1\"> LoginRadius </span><span class=\"mtk15\">import</span><span class=\"mtk1\"> LoginRadius </span><span class=\"mtk15\">as</span><span class=\"mtk1\"> LR</span></span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">LR.API_KEY = </span><span class=\"mtk8\">&quot;API Key&quot;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">LR.API_SECRET = </span><span class=\"mtk8\">&quot;API Secret&quot;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">loginradius = LR()</span></span></code></pre>\n<p>Replace the values of the <code>API_KEY</code> and <code>API_SECRET</code> variables with your LoginRadius application keys we saved earlier.</p>\n<h2 id=\"setting-up-user-registration\" style=\"position:relative;\"><a href=\"#setting-up-user-registration\" aria-label=\"setting up user registration 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>Setting up User Registration</h2>\n<p>To register users, you have to redirect them from your application to your LoginRadius Auth Page (IDX). Each LoginRadius app has a custom IDX. You can access it with the following URL pattern.</p>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"\" data-index=\"4\"><code class=\"grvsc-code\"><span class=\"grvsc-line\">https://{APP_NAME}.hub.loginradius.com/auth.aspx?action={AUTH_ACTION}&return_url={RETURN_URL}</span></code></pre>\n<ul>\n<li>The <code>APP_NAME</code> parameter refers to your LoginRadius app name, which you can retrieve from the <code>API Key And Secret</code> section in the <code>Configuration</code> tab of your dashboard.</li>\n<li>The <code>AUTH_ACTION</code> parameter refers to the authentication action you’re attempting to perform. It is either <code>register</code> or <code>login</code>.</li>\n<li>The <code>RETURN_URL</code> parameter refers to the URL LoginRadius should redirect your users to after successful authentication. It is usually a route on your application server.</li>\n</ul>\n<p>Update the <code>server.py</code> file with the code below:</p>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"python\" data-index=\"5\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"mtk1\">LR_AUTH_PAGE = </span><span class=\"mtk8\">&quot;https://&lt;APP_NAME&gt;.hub.loginradius.com/auth.aspx?action=</span><span class=\"mtk4\">{}</span><span class=\"mtk8\">&return_url=</span><span class=\"mtk4\">{}</span><span class=\"mtk8\">&quot;</span></span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\"><span class=\"mtk11\">@app.route</span><span class=\"mtk1\">(</span><span class=\"mtk8\">&quot;/register/&quot;</span><span class=\"mtk1\">)</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk4\">def</span><span class=\"mtk1\"> </span><span class=\"mtk11\">register</span><span class=\"mtk1\">():</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    </span><span class=\"mtk3\"># redirect the user to our LoginRadius register URL</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    </span><span class=\"mtk15\">return</span><span class=\"mtk1\"> redirect(LR_AUTH_PAGE.format(</span><span class=\"mtk8\">&quot;register&quot;</span><span class=\"mtk1\">, request.host_url))</span></span></code></pre>\n<p>In the code above, we created a <code>register</code> route that redirects users to our LoginRadius registration IDX. We also set our <code>AUTH_ACTION</code> to “register” and our <code>RETURN_URL</code> to our application home page.</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: 85.23076923076923%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAARCAIAAABSJhvpAAAACXBIWXMAAAsTAAALEwEAmpwYAAACqklEQVQ4y3WS/08SYRzH+ZfqF7Qm2dpaWtn8chyQyzZFnctVP7S5taUFLuAAVxuSWq2ttrasrRTTFZVDzMGR4N2BIOLANUVEhE7ggDueHu4UNemz1557P8/e793n+ewRiWvaq88pqyQdZ8931V7slVzo4bdKsaTjTK0SanFNR7VEWcWvp6vaTolvlBFJcR0E4UFdmBTHWnAtXBUuA4JroW7GNXAVDGUhIJJ5DegBCIXBrXzZ2OsbMYUm74Ze3l590Rd6rQwMN5IaqRe77huChjIilNQLSEl9u8/UuWy+5R/tXjb3+Ee6/c+6/OaewEin39zpG77pfSqnjDLSUI4chiH3Q2/sCV8esFt7O1v0TjyTjKeTsb1ELL0LALAlvNIljfyI/zDcSg01uAc/xhxgL2+xWGyzNrvNPvv9B8RqtSajO4t/1tAlnaxy2Dt02a0ej87Dn6yuhUi+CILweDzh9QgoADy50rSkrdy2gjJecavfb5bCBY7NZDKpVIqm6XQ6XWAL8BBPBhFC99/wJbfq3eZPwIF0NsMeKSafAyxw7QalBCanToTlJNZIPel339mMTbIsoOkUwzBZJgsRBAw7kyvNRKW2ZZQe9Rjb5vrmvV9gh1kmw7EcKAJIkSvmC3m+7ZXmhUEZcXJg8G04sMaZB3M+O+Brndl+vmEd2/j6m4kLJzDc8k2lwPXoQefHwg3T/Z9WnYI1mtud2MYn4ngsl9wPJ4KIVd2+UHpkx8OUXkEY6u2qDz6nMO2SHbbNlb5skdsP45pWj7HytOs8j8aj9rI7B69Op6Hg+C2cNhwY+u8joUrXkFHGJlJ3L/BqLDJjCluGw1PmyGcIFKbw1Ghk+mHwLULyFy5xEEYWtS2uxxDEpbmGq+sc/fWOAQgUR/TAVadKsJX4pUEJ7C8IDKqugjxwhgAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"LoginRadius Login Page\"\n        title=\"LoginRadius Login Page\"\n        src=\"/static/813dfc4b51a3c6e998e0467ee788f277/e5715/smn-8jr5ahgmhtynezje.png\"\n        srcset=\"/static/813dfc4b51a3c6e998e0467ee788f277/a6d36/smn-8jr5ahgmhtynezje.png 650w,\n/static/813dfc4b51a3c6e998e0467ee788f277/e5715/smn-8jr5ahgmhtynezje.png 768w,\n/static/813dfc4b51a3c6e998e0467ee788f277/29007/smn-8jr5ahgmhtynezje.png 1600w\"\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<blockquote>\n<p>NOTE: Don’t forget to replace the &#x3C;APP_NAME> placeholder with your LoginRadius app name we saved earlier.</p>\n</blockquote>\n<h3 id=\"authenticating-registered-users-user-login\" style=\"position:relative;\"><a href=\"#authenticating-registered-users-user-login\" aria-label=\"authenticating registered users user login 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>Authenticating Registered Users (User Login)</h3>\n<p>To authenticate registered users, you have to redirect them to your IDX page, passing “login” as the <code>AUTH_ACTION</code>.</p>\n<p>Update the <code>server.py</code> file with the code below:</p>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"python\" data-index=\"6\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"mtk11\">@app.route</span><span class=\"mtk1\">(</span><span class=\"mtk8\">&quot;/login/&quot;</span><span class=\"mtk1\">)</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk4\">def</span><span class=\"mtk1\"> </span><span class=\"mtk11\">login</span><span class=\"mtk1\">():</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    access_token = request.args.get(</span><span class=\"mtk8\">&quot;token&quot;</span><span class=\"mtk1\">)</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    </span><span class=\"mtk15\">if</span><span class=\"mtk1\"> access_token </span><span class=\"mtk4\">is</span><span class=\"mtk1\"> </span><span class=\"mtk4\">None</span><span class=\"mtk1\">:</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">        </span><span class=\"mtk3\"># redirect the user to our LoginRadius login URL if no access token is provided</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">        </span><span class=\"mtk15\">return</span><span class=\"mtk1\"> redirect(LR_AUTH_PAGE.format(</span><span class=\"mtk8\">&quot;login&quot;</span><span class=\"mtk1\">, request.base_url))</span></span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    </span><span class=\"mtk15\">return</span><span class=\"mtk1\"> </span><span class=\"mtk8\">&quot;You have successfully logged in!&quot;</span></span></code></pre>\n<blockquote>\n<p>When LoginRadius successfully authenticates a user, it attaches a <code>token</code> parameter to the <code>REDIRECT_URL</code> before redirecting your user there. This parameter contains the <a href=\"https://en.wikipedia.org/wiki/Access_token\">access token</a> of the user that we authenticated.</p>\n</blockquote>\n<p>In the code above, we redirect users to our LoginRadius login IDX if the <code>token</code> parameter is absent (this means LoginRadius did not redirect the user here). We also set our <code>AUTH_ACTION</code> to “login” and our <code>RETURN_URL</code> to our login page.</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: 85.23076923076923%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAARCAIAAABSJhvpAAAACXBIWXMAAAsTAAALEwEAmpwYAAACsklEQVQ4y3VS609ScRjmT8qtRVqhra118ZLK4YBazim2am31pbk+5BScwuGi2Zfaaqu+pctKTOcyTSSVcww8F1wc1kq0cxDkIgii50DvgUGa9O758Pze8zznfX7vfjL5ufbySu1pRceZ8zerLt5VXLidO2rlio6KSq38bHu5QgsAQUVV58mKthOnrpfJW8vkNwAyFW4EIDmgBKYiMCBqwtRMWPJ9JW4AguKYCodPBqQgBsjUjBktAGEwQCNj7KSfWNmxO95nt74/vc++aPUMVZN9DbSh2WMFfREylDIV0eYZfsC+HF63DfptjzcmBjdsQ5sTw78nLf5x7OdYF/tKTZkBRf0R80PfayLKZrNZPsBzHB/eDge2AjzPczwPTTzqU7kHNIf0f80ttLXW1fd+a1mMp22TH+25ms3VF/t8JBAiYj6UNKpLmxnrVZd+hFuAIf7NDYaWimEYiqLgCE1nxNuwaigdu4m2VLv0o5wDdEJGzGQygiCIokTEbEaKHWERafJ/zJdcujfc16yQje8m9g5VMpWEJhFhVSSmoY+ZNRRWTw91u+5xW+MCmBOx1F4qvS9VOp0GDmZn1NtIloqtpk2o29Jq73Iw05DwQDjI7AvJWCK2swN+EYJL2/Y2LvapyeMLY8yaZax+6tG8xw46bi88FXSthNlUMglj4V95s3JG14Sb0ELyI+baye4xdhl0nvi66de7D0FnLBoLhUKJ3YRkDrPIJ337ovTIjpppU9Oq+cqCbpRxSrFFQdq5IBwIQn75ObMXwQda3JbS277s7h3hHUV1Kr6b3kkCyd95JeqDhaH/PhJauoaGsdSR/cYfbxe312aC7tng6lyImtumgHwOuh0h5rl/WklhariwhIIZ+WZQEv0AhOi/5tRXL/XULPXm0FNziNc5dXmZhJUBlMT+ANjYr91wzuSxAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"LoginRadius Login Page\"\n        title=\"LoginRadius Login Page\"\n        src=\"/static/4a194cdf7efcbd7ff63dbe07e645ce76/e5715/7gs3xz6qhxhas7qgtjma.png\"\n        srcset=\"/static/4a194cdf7efcbd7ff63dbe07e645ce76/a6d36/7gs3xz6qhxhas7qgtjma.png 650w,\n/static/4a194cdf7efcbd7ff63dbe07e645ce76/e5715/7gs3xz6qhxhas7qgtjma.png 768w,\n/static/4a194cdf7efcbd7ff63dbe07e645ce76/29007/7gs3xz6qhxhas7qgtjma.png 1600w\"\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: 25.384615384615383%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAFCAIAAADKYVtkAAAACXBIWXMAAAsTAAALEwEAmpwYAAAApUlEQVQY02OIMSyw0cowkUv10G300m/yBCK9JieNGi1JP0URO0URByVRB0VREAlHcC6Dq16KtVaGhUaSkXqkqWa0uU68o3m2k0WunUm6tWGylWGypUGStVGylUESkAHkWhkkA7kW+onGmjEMly7euHj+2oXz186cvnT29OUb1+89vP/84YPnjx6+AKOXUPLBC6gImPHwwYsH958x/KcAYNH8j2gAAM8YyFMqo2EkAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"LoggedIn\"\n        title=\"LoggedIn\"\n        src=\"/static/778f9ef9e4f7ce2740faf879b8c1615a/e5715/xwzztcogdtmnyfq4j5nc.png\"\n        srcset=\"/static/778f9ef9e4f7ce2740faf879b8c1615a/a6d36/xwzztcogdtmnyfq4j5nc.png 650w,\n/static/778f9ef9e4f7ce2740faf879b8c1615a/e5715/xwzztcogdtmnyfq4j5nc.png 768w,\n/static/778f9ef9e4f7ce2740faf879b8c1615a/29007/xwzztcogdtmnyfq4j5nc.png 1600w\"\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=\"fetching-user-profiles-from-access-tokens\" style=\"position:relative;\"><a href=\"#fetching-user-profiles-from-access-tokens\" aria-label=\"fetching user profiles from access tokens 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>Fetching User Profiles From Access Tokens</h2>\n<p>We also want to fetch user profiles from the <code>access token</code> given by LoginRadius. It comes in handy when we want to verify if a given access token is valid (or has expired) or just fetch information about the current user.</p>\n<p>Update the <code>login</code> route with the code below. We also added a <code>dashboard</code> route where we will redirect users after successful authentication.</p>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"python\" data-index=\"7\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"mtk11\">@app.route</span><span class=\"mtk1\">(</span><span class=\"mtk8\">&quot;/login/&quot;</span><span class=\"mtk1\">)</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk4\">def</span><span class=\"mtk1\"> </span><span class=\"mtk11\">login</span><span class=\"mtk1\">():</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    access_token = request.args.get(</span><span class=\"mtk8\">&quot;token&quot;</span><span class=\"mtk1\">)</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    </span><span class=\"mtk15\">if</span><span class=\"mtk1\"> access_token </span><span class=\"mtk4\">is</span><span class=\"mtk1\"> </span><span class=\"mtk4\">None</span><span class=\"mtk1\">:</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">        </span><span class=\"mtk3\"># redirect the user to our LoginRadius login URL if no access token is provided</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">        </span><span class=\"mtk15\">return</span><span class=\"mtk1\"> redirect(LR_AUTH_PAGE.format(</span><span class=\"mtk8\">&quot;login&quot;</span><span class=\"mtk1\">, request.base_url))</span></span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    </span><span class=\"mtk3\"># fetch the user profile details with their access tokens</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    result = loginradius.authentication.get_profile_by_access_token(</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">        access_token)</span></span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    </span><span class=\"mtk15\">if</span><span class=\"mtk1\"> result.get(</span><span class=\"mtk8\">&quot;ErrorCode&quot;</span><span class=\"mtk1\">) </span><span class=\"mtk4\">is</span><span class=\"mtk1\"> </span><span class=\"mtk4\">not</span><span class=\"mtk1\"> </span><span class=\"mtk4\">None</span><span class=\"mtk1\">:</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">        </span><span class=\"mtk3\"># redirect the user to our login URL if there was an error</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">        </span><span class=\"mtk15\">return</span><span class=\"mtk1\"> redirect(url_for(</span><span class=\"mtk8\">&quot;login&quot;</span><span class=\"mtk1\">))</span></span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    session[</span><span class=\"mtk8\">&quot;user_acccess_token&quot;</span><span class=\"mtk1\">] = access_token</span></span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    </span><span class=\"mtk15\">return</span><span class=\"mtk1\"> redirect(url_for(</span><span class=\"mtk8\">&quot;dashboard&quot;</span><span class=\"mtk1\">))</span></span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\"><span class=\"mtk11\">@app.route</span><span class=\"mtk1\">(</span><span class=\"mtk8\">&quot;/dashboard/&quot;</span><span class=\"mtk1\">)</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk4\">def</span><span class=\"mtk1\"> </span><span class=\"mtk11\">dashboard</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=\"mtk8\">&quot;You have successfully logged in!&quot;</span></span></code></pre>\n<p>In the code above, we used the <code>authentication.get_profile_by_access_token</code> method from the LoginRadius SDK to fetch our user’s details. If the request was successful and the result does not contain an <code>ErrorCode</code> parameter, we save the access token in the user’s session and redirect them to the <code>dashboard</code> route. But if an error occurs somewhere, e.g., the access token is invalid/expired, we redirect the user back to the <code>login</code> route.</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: 25.384615384615383%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAFCAIAAADKYVtkAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAi0lEQVQY02OIMSyw0cowkUv10G300m/yNGh2UK2xVazUlvJXFLFTFHFQEsWJGFz1Uqy1Miw0kozUI001oi104+1MMh3Msu1M062NkoHIXDfeSCPaWDMGEzFcunjj4vlrF85fO3P60tnTl29cv/fowfOHD54/evgCjF4C2Q/uP8OKGP5TALBo/kc0AAAUs8dlLi9TOAAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"LoggedIn\"\n        title=\"LoggedIn\"\n        src=\"/static/f7ff18d73aa44304b1af09710f4dd5f2/e5715/f2p7ddnwin3yihucx2em.png\"\n        srcset=\"/static/f7ff18d73aa44304b1af09710f4dd5f2/a6d36/f2p7ddnwin3yihucx2em.png 650w,\n/static/f7ff18d73aa44304b1af09710f4dd5f2/e5715/f2p7ddnwin3yihucx2em.png 768w,\n/static/f7ff18d73aa44304b1af09710f4dd5f2/29007/f2p7ddnwin3yihucx2em.png 1600w\"\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>Next, we want to add more functionality to the <code>dashboard</code> route. Instead of just displaying a dummy text, let it show the user information we fetched earlier. Update the <code>dashboard</code> route with the code below:</p>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"python\" data-index=\"8\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"mtk11\">@app.route</span><span class=\"mtk1\">(</span><span class=\"mtk8\">&quot;/dashboard/&quot;</span><span class=\"mtk1\">)</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk4\">def</span><span class=\"mtk1\"> </span><span class=\"mtk11\">dashboard</span><span class=\"mtk1\">():</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    access_token = session.get(</span><span class=\"mtk8\">&quot;user_acccess_token&quot;</span><span class=\"mtk1\">)</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    </span><span class=\"mtk15\">if</span><span class=\"mtk1\"> access_token </span><span class=\"mtk4\">is</span><span class=\"mtk1\"> </span><span class=\"mtk4\">None</span><span class=\"mtk1\">:</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">        </span><span class=\"mtk15\">return</span><span class=\"mtk1\"> redirect(url_for(</span><span class=\"mtk8\">&quot;login&quot;</span><span class=\"mtk1\">))</span></span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    </span><span class=\"mtk3\"># fetch the user profile details with their access tokens</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    result = loginradius.authentication.get_profile_by_access_token(</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">        access_token)</span></span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    </span><span class=\"mtk15\">if</span><span class=\"mtk1\"> result.get(</span><span class=\"mtk8\">&quot;ErrorCode&quot;</span><span class=\"mtk1\">) </span><span class=\"mtk4\">is</span><span class=\"mtk1\"> </span><span class=\"mtk4\">not</span><span class=\"mtk1\"> </span><span class=\"mtk4\">None</span><span class=\"mtk1\">:</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">        </span><span class=\"mtk3\"># redirect the user to our login URL if there was an error</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">        </span><span class=\"mtk15\">return</span><span class=\"mtk1\"> redirect(url_for(</span><span class=\"mtk8\">&quot;login&quot;</span><span class=\"mtk1\">))</span></span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    </span><span class=\"mtk15\">return</span><span class=\"mtk1\"> jsonify(result)</span></span></code></pre>\n<p>Here, we fetched the access token stored in the user’s session earlier, used it to get their details, and rendered the result.</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: 137.53846153846155%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAcCAIAAADuuAg3AAAACXBIWXMAAAsTAAALEwEAmpwYAAACr0lEQVQ4y5WUW08TQRTH91NgDN4iJVxKIEhtVS4VNIQHCYYoGBNDYkBERUh89MHEZx74TD5qTIgBQsKdXqDdW3dnOjuzM2fqLEtKS5Ctk5PJtJPfnjPn/M/RZnsWptIfuzteJ5rfvEitTiZXpgdWp/pXJ1MrI7FvT2Lfh1qX266PxJrSLU1DMWXX0lXTpruXx+JfUy2LfTdnUy3vk3fnH8QWlA20f37YutjftpyMzcXvPO+8PdF5a6L9xnhb87OqaYmumd6OmcGet8OJuUR8Ktn16n58uq/z5fDD+bHhpfHRL08HP42ml0aHAnuc+vCod67/3rvQtB9rud+bhfU/W79+ru3uZNS+sb6dz+nZTCFzpOwkly2qs9pDU1dV0wzL1k0buY6u66ZpWral60WMsecRyijnfuXfSyu6fM8UmEr1Q0oZ/ssYQwjJqKUVXJ4rAeWy9pOUUgVXopamI75xLDK28PzQ+RmMEY6GDcT3TWETGToPYRW2enY0fOLwzRPORF3YjLJGw97RxXZRhHyYM48Rj3nRsMr2vgmuJ72anKkiEUKiYQuLbElYZdAxCPjPsBW8awhWX6pGE6Zg9eBcSdR5bhC2sdgzBGbndToNW9X5NGxZbxfhstjWA89welcVCSo38GaHBHC2BBzOYc58YiDAXCIOrq8OYDOJ+UW4VA7CPrQEB1kDc+8YKQAsJgwmbMbzRFjsEvjQBNVYRQS1dUakoWxz5VlVy/FqtE1Z0BgyKmF5ix6YQHwJNXcCBBc82jNlvkPggkgqoiIJSAYRsAQoM6l6g4uzuga7L/wDxA8xOL70xBUi4RkbVEsrhVVhyqllGbIsgnbx4aphsGOIrQLPOwEfjoRAJLgBkZg4GICIBpNEiTQUWqDtMNsRMPKPLHApXNpVajaos+u6pcvWX24d58OOTRQqAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"LoggedIn\"\n        title=\"LoggedIn\"\n        src=\"/static/18bb6535f77c2607bb7398b12627fdad/e5715/1zsvbg3rk013zlbpxx2u.png\"\n        srcset=\"/static/18bb6535f77c2607bb7398b12627fdad/a6d36/1zsvbg3rk013zlbpxx2u.png 650w,\n/static/18bb6535f77c2607bb7398b12627fdad/e5715/1zsvbg3rk013zlbpxx2u.png 768w,\n/static/18bb6535f77c2607bb7398b12627fdad/05fb0/1zsvbg3rk013zlbpxx2u.png 1138w\"\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<h3 id=\"invalidating-access-tokens-user-logout\" style=\"position:relative;\"><a href=\"#invalidating-access-tokens-user-logout\" aria-label=\"invalidating access tokens user logout 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>Invalidating Access Tokens (User Logout)</h3>\n<p>Invalidating access tokens means rendering particular access tokens useless and unusable. It comes in handy when we log out users. The LoginRadius SDK provides an <code>auth_in_validate_access_token</code> method that takes in an access token to be invalidated.</p>\n<p>To add this to our server, create a <code>logout</code> route with the code below:</p>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"python\" data-index=\"9\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"mtk11\">@app.route</span><span class=\"mtk1\">(</span><span class=\"mtk8\">&quot;/logout/&quot;</span><span class=\"mtk1\">)</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk4\">def</span><span class=\"mtk1\"> </span><span class=\"mtk11\">logout</span><span class=\"mtk1\">():</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    access_token = session.get(</span><span class=\"mtk8\">&quot;user_acccess_token&quot;</span><span class=\"mtk1\">)</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    </span><span class=\"mtk15\">if</span><span class=\"mtk1\"> access_token </span><span class=\"mtk4\">is</span><span class=\"mtk1\"> </span><span class=\"mtk4\">None</span><span class=\"mtk1\">:</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">        </span><span class=\"mtk15\">return</span><span class=\"mtk1\"> redirect(url_for(</span><span class=\"mtk8\">&quot;login&quot;</span><span class=\"mtk1\">))</span></span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    </span><span class=\"mtk3\"># invalidate the access token with LoginRadius API</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    loginradius.authentication.auth_in_validate_access_token(access_token)</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    session.clear()</span></span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    </span><span class=\"mtk15\">return</span><span class=\"mtk1\"> </span><span class=\"mtk8\">&quot;You have successfully logged out!&quot;</span></span></code></pre>\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: 36.92307692307692%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAHCAIAAACHqfpvAAAACXBIWXMAAAsTAAALEwEAmpwYAAAA30lEQVQY02MoMCtMcCk30Uu3ks8ItZoQZjUh2mFKuM1EN81mJ5V6N/VWK6UMDSknVQlHVQkHNUlHNUknOGJwUEoylszWk0jUlohWFwtRFwsFozBd2Tg9+URjlVQj1XgN2QB1IJIJUBL3URD1giOGCL/iSP+y6ICK2KDqYO+CEJ/CUN+iEJ+i+Ij6xOjmlLjW9MSO5JjW5GgQig2tjwqugyOG169fvXr18u3bNy9evHj58uXz58+fPHny/v37/0QAhm/fv//79+/vn78I8OcvEvcfGGEHDD9+/PhPLqBIMwCZ9B/QHMr8mgAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"Log Out\"\n        title=\"Log Out\"\n        src=\"/static/7ee08aa463b99115f34baf4e3a011bcf/e5715/xyvodwpjtxjrjgxoffx5.png\"\n        srcset=\"/static/7ee08aa463b99115f34baf4e3a011bcf/a6d36/xyvodwpjtxjrjgxoffx5.png 650w,\n/static/7ee08aa463b99115f34baf4e3a011bcf/e5715/xyvodwpjtxjrjgxoffx5.png 768w,\n/static/7ee08aa463b99115f34baf4e3a011bcf/05fb0/xyvodwpjtxjrjgxoffx5.png 1138w\"\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=\"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>This article taught us about user authentication, user identity management, and implementing it correctly. In addition, we saw how easy it is to integrate LoginRadius services into a Python application to ease the implementation of authentication and user identity management.</p>\n<p>The source code of the demo application is available as a <a href=\"https://gist.github.com/LordGhostX/01e9330dc4533a992a481fcd58fdd115\">GitHub gist</a>. You can learn more about the LoginRadius Python SDK features from the <a href=\"https://www.loginradius.com/developers/\">official documentation</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 .mtk15 { color: #C586C0; }\n  .dark-default-dark .mtk12 { color: #9CDCFE; }\n  .dark-default-dark .mtk8 { color: #CE9178; }\n  .dark-default-dark .mtk11 { color: #DCDCAA; }\n  .dark-default-dark .mtk4 { color: #569CD6; }\n  .dark-default-dark .mtk3 { color: #6A9955; }\n</style>","frontmatter":{"date":"July 07, 2021","updated_date":null,"description":"Learn about user authentication, user identity management, and implementing it correctly into a Python application using LoginRadius.","title":"Implementing User Authentication in a Python Application","tags":["Python","Authentication","Flask"],"pinned":null,"coverImage":{"childImageSharp":{"fluid":{"aspectRatio":1.5037593984962405,"src":"/static/9c74b4b9c19fc76911f54b82e0cceb74/14b42/coverImage.jpg","srcSet":"/static/9c74b4b9c19fc76911f54b82e0cceb74/f836f/coverImage.jpg 200w,\n/static/9c74b4b9c19fc76911f54b82e0cceb74/2244e/coverImage.jpg 400w,\n/static/9c74b4b9c19fc76911f54b82e0cceb74/14b42/coverImage.jpg 800w,\n/static/9c74b4b9c19fc76911f54b82e0cceb74/47498/coverImage.jpg 1200w","sizes":"(max-width: 800px) 100vw, 800px"}}},"author":{"id":"Solomon Esenyi","github":"LordGhostX","avatar":null}}}},{"node":{"excerpt":"The changing data landscape and the propagation of credential-based security threats coupled with stringent regulatory compliances push…","fields":{"slug":"/growth/top-3-ciam-indicators/"},"html":"<p>The changing data landscape and the propagation of credential-based security threats coupled with stringent regulatory compliances push enterprises to deploy a consumer identity and access management (CIAM) system.</p>\n<p>However, many enterprises aren’t able to leverage the full value of a CIAM since they <a href=\"https://www.loginradius.com/blog/identity/iam-vs-ciam/\">confuse it with the conventional IAM</a> (identity and access management) that only emphasizes identity management within an organization network and not for consumers/clients.</p>\n<p>On the other hand, only a few businesses are well-versed with the technological advancements that a CIAM can thrive. The rest just consider it as a way to secure consumer identities and enhance overall security.</p>\n<p>So, how can one decide which is the best CIAM for their business? Or in a nutshell, what are the CIAM indicators that ensure you’re getting adequate ROI and safeguards consumer satisfaction?</p>\n<p>Let’s learn in detail what CIAM is, what value it offers to your business, and the aspects that indicate you’re relying on the most refined consumer identity and access management solution.</p>\n<h2 id=\"what-is-consumer-identity-and-access-management-ciam\" style=\"position:relative;\"><a href=\"#what-is-consumer-identity-and-access-management-ciam\" aria-label=\"what is consumer identity and access management 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>What is Consumer Identity and Access Management (CIAM)?</h2>\n<p>Consumer identity and access management (CIAM) is a digital identity management software solution for businesses that combines login verification with consumer data storage. CIAM aims to improve the consumer's sign-up and login experience while securely managing consumer identities.</p>\n<p>CIAM offers the luxury of a centralized consumer database that links all other apps and services to provide a secure and seamless consumer experience.</p>\n<p>Moreover, a cutting-edge CIAM solution like LoginRadius offers a seamless login experience through Social Login, Single-Sign-On (SSO), and <a href=\"https://www.loginradius.com/passwordless-login/\">Passwordless Login for customers</a>.</p>\n<p><a href=\"https://www.loginradius.com/resource/loginradius-ciam-social-login/\"><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,iVBORw0KGgoAAAANSUhEUgAAABQAAAAGCAYAAADDl76dAAAACXBIWXMAAAsSAAALEgHS3X78AAABeklEQVQY00VQSUtCYRR9NPnUEqMkyLTBHHDCnJ76LIfMtDKKFmIqBO4SrE07bdOqPxJtCiJIEkIKgtq0axM0QAPUKkPJ3el7z6ELh3O593zn3vtRQo0XHETaaYh1Mw2QXMTVNCxafQ70pAciQxCDrlUMmGchNIZA63wQqlnQTQ3VMpOZA+jXeSFRu3ketkcwZJ2H1OAHrWbbhmJTCMpgAvpQHGJmDQJTGEJS5/tER7USpSMCZzQBLRtDn4pBt9IGsSUKiSHwb0hYZglB7mgMUxAecUT5q1oaim6uq/OtwLOUgi0c50014RT0sQxk5KGguQEH2VQYcucCRt0xwos8JHp/W8Nv2DXhwlHxApXKDx6fX/D69o6Pzy/UfuuYS2bRMeYEJbcim9/H/cMTjotlHJyc4/C0hMubO5SubiE1BtCj8oDi/q9znMFZ+RpcfBPTarWGOjHjIpLOgVLY+aHM8gY2iWlqq4D1XB7JXAGZnT2kt3fRS84WkGv/AETt3u9gD24KAAAAAElFTkSuQmCC'); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"LoginRadius-CIAM-Social-Login\"\n        title=\"LoginRadius-CIAM-Social-Login\"\n        src=\"/static/f2945ee3c14ddb03e7f77a5db0f15b1f/e5715/social-login-loginradius.png\"\n        srcset=\"/static/f2945ee3c14ddb03e7f77a5db0f15b1f/a6d36/social-login-loginradius.png 650w,\n/static/f2945ee3c14ddb03e7f77a5db0f15b1f/e5715/social-login-loginradius.png 768w,\n/static/f2945ee3c14ddb03e7f77a5db0f15b1f/63ff0/social-login-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<h2 id=\"ciam-indicators-that-describe-your-consumers-love-your-platform\" style=\"position:relative;\"><a href=\"#ciam-indicators-that-describe-your-consumers-love-your-platform\" aria-label=\"ciam indicators that describe your consumers love your platform 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>CIAM Indicators that Describe Your Consumers Love Your Platform</h2>\n<p>Enterprises embarking on a journey to digitally transform themselves need to understand that security isn’t just the only thing that guarantees consumer success, user experience coupled with the highest level of security is what makes a business stand ahead of the curve.</p>\n<p>However, not every business utilizing the best in class CIAM solution is aware of CIAM clutches’ potential.</p>\n<p>Here’s the list of features in a CIAM solution that assures consumer success and satisfaction:</p>\n<h2 id=\"1-reinforced-security-through-adaptive-authentication\" style=\"position:relative;\"><a href=\"#1-reinforced-security-through-adaptive-authentication\" aria-label=\"1 reinforced security through adaptive authentication 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>1. Reinforced Security through Adaptive Authentication</h2>\n<p>When it comes to maintaining consumer trust, protecting critical consumer details is something that brands shouldn’t ignore.</p>\n<p>Since consumer identity thefts are rising substantially, especially in the most unpredictable times of COVID-19, enterprises that are just relying on multi-factor authentication should reconsider their first line of defense.</p>\n<p>Attackers are exploiting consumer credentials to bypass security layers that result in brand tarnishing and losses worth millions.</p>\n<p>Hence, an innovative and robust system should be in place that adds a strong fence around the network without hampering the user experience.</p>\n<p>One such security feature is <a href=\"https://www.loginradius.com/blog/engineering/What-is-adaptive-authentication/\">“Adaptive Authentication” or “Risk-based Authentication</a>.”</p>\n<p>It’s a method to send notifications or prompt the consumers to complete an additional step(s) to verify their identities when the authentication request is deemed malicious according to your organization's security policy.</p>\n<p>Multi-Factor authentication alone, on the other hand, creates a lengthier authentication process for the consumers, which causes lower consumer conversation at your application.</p>\n<p>Adaptive Authentication only triggers an elevated-risk situation while keeping the frictionless authentication process in place for normal conditions.</p>\n<p>In a nutshell, adaptive authentication authenticates a user whenever there's suspicious activity and not just every time a user tries to log in.</p>\n<p>This helps maintain the highest level of security and, at the same time, ensures users get the best navigation experience.</p>\n<p>Brands leading the market already leverage CIAM with adaptive authentication like LoginRadius to safeguard consumer data and offer a flawless user experience.</p>\n<h2 id=\"2-privacy-and-compliance-the-best-of-both-worlds\" style=\"position:relative;\"><a href=\"#2-privacy-and-compliance-the-best-of-both-worlds\" aria-label=\"2 privacy and compliance the best of both worlds 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>2. Privacy and Compliance: The Best of Both Worlds</h2>\n<p>Privacy compliance is the line between legal and illegal. Privacy laws and regulations help protect consumers in different countries by ensuring data is handled appropriately.</p>\n<p>Privacy compliance law states how organizations (regardless of their industry) meet regulatory and legal requirements for collecting, processing, and maintaining personal information.</p>\n<p>So, if your CIAM isn’t compliant, you’ll end up losing your client base as consumers don’t trust brands that aren’t securely managing their sensitive information.</p>\n<p>Privacy compliances like EU’s GDPR and California’s CCPA ensure data is securely managed and stored, and hence consumers can share their details while signing up without any second thought.</p>\n<p>The ones that aren’t yet compliant should know the fact that a breach in data privacy can lead to legal consequences and may be followed by investigations and fines.</p>\n<p>As a leading GDPR-compliance-ready CIAM platform, LoginRadius works seamlessly for any business model.</p>\n<p>LoginRadius simplifies data privacy compliance by bringing all the consumer data under a single roof, which enables complete profile management of an individual consumer in a single intuitive admin console.</p>\n<h2 id=\"3-availability-and-scalability-to-stay-ahead-of-the-competitions\" style=\"position:relative;\"><a href=\"#3-availability-and-scalability-to-stay-ahead-of-the-competitions\" aria-label=\"3 availability and scalability to stay ahead of the competitions 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>3. Availability and Scalability: To Stay Ahead of the Competitions</h2>\n<p>Since consumers and businesses have transitioned to online platforms amidst the global crisis, there’s a huge possibility that the number of logins and the creation of new accounts will surge.</p>\n<p>Without a highly scalable infrastructure to handle the increasing account creations and logins coupled with availability (uptime), peak loads can dramatically impede performance and hamper consumer experience.</p>\n<p>For this, you need to ensure you have a robust identity solution that grows at the same pace.</p>\n<p>If your CIAM isn’t available to cater to the increasing demands of your consumers, you’re heading in the wrong direction.</p>\n<p>With 100% uptime and 35 data centers across the globe, <a href=\"https://www.loginradius.com/blog/engineering/effective-cloud-management-platform/\">LoginRadius’ cloud-based platform</a> can scale to 100s of millions of users in a couple of seconds.</p>\n<p>This is what consumers in today’s era actually want since nobody would like to revisit a website or application that offers a poor user experience due to unavailability.</p>\n<h2 id=\"final-words\" style=\"position:relative;\"><a href=\"#final-words\" aria-label=\"final words 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>Final Words</h2>\n<p>Businesses need to understand the true potential of a CIAM solution. A reliable CIAM reinforces security and compliances and eventually enhances user experience throughout the consumer onboarding journey.</p>\n<p>The aspects above depict the role and responsibilities of a robust CIAM that can guarantee consumer trust and help scale business growth.</p>\n<p>If you wish to experience the ease of consumer onboarding that increases consumer satisfaction and boosts your business revenues, it’s time to <a href=\"https://www.loginradius.com/book-a-demo/\"></a> <a href=\"https://www.loginradius.com/contact-sales/\">experience the LoginRadius CIAM</a>.</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-a-demo-Consultation\"\n        title=\"book-a-demo-Consultation\"\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":"July 06, 2021","updated_date":null,"description":"CIAM offers the luxury of a centralized database to provide a secure and seamless consumer experience. In this post, we’ve discussed the CIAM indicators that ensure you’re getting adequate ROI and eventually safeguarding consumer satisfaction.","title":"Top 3 CIAM Indicators That You’ll Get the Consumer Satisfaction You Deserve","tags":null,"pinned":null,"coverImage":{"childImageSharp":{"fluid":{"aspectRatio":1.5037593984962405,"src":"/static/67a1dea9dd802b5cb1b98f37c1bda320/14b42/ciam-loginradius.jpg","srcSet":"/static/67a1dea9dd802b5cb1b98f37c1bda320/f836f/ciam-loginradius.jpg 200w,\n/static/67a1dea9dd802b5cb1b98f37c1bda320/2244e/ciam-loginradius.jpg 400w,\n/static/67a1dea9dd802b5cb1b98f37c1bda320/14b42/ciam-loginradius.jpg 800w,\n/static/67a1dea9dd802b5cb1b98f37c1bda320/47498/ciam-loginradius.jpg 1200w,\n/static/67a1dea9dd802b5cb1b98f37c1bda320/0e329/ciam-loginradius.jpg 1600w,\n/static/67a1dea9dd802b5cb1b98f37c1bda320/d6b2d/ciam-loginradius.jpg 5568w","sizes":"(max-width: 800px) 100vw, 800px"}}},"author":{"id":"Vishal Sharma","github":null,"avatar":null}}}},{"node":{"excerpt":"Hi Everyone 👋 !!! Today we are announcing the beta release of LoginRadius CLI. I am very much excited about it. Why LoginRadius CLI…","fields":{"slug":"/engineering/introducing-loginradius-cli/"},"html":"<p>Hi Everyone 👋 !!! Today we are announcing the beta release of <a href=\"https://github.com/LoginRadius/lr-cli#readme\">LoginRadius CLI</a>. I am very much excited about it.</p>\n<h2 id=\"why-loginradius-cli\" style=\"position:relative;\"><a href=\"#why-loginradius-cli\" aria-label=\"why loginradius cli 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>Why LoginRadius CLI?</h2>\n<p>Developer Experience plays a crucial role for us. We always think about the ways we can minimize the juggling between a quickstart tutorial, dashboard, and terminal.\nThe LoginRadius CLI will simplify your flow by just using some simple commands to <strong>register, login, add site, add social, etc.</strong>, and enables you to get the job done in very little time without leaving the terminal. </p>\n<h2 id=\"how-can-you-use-loginradius-cli\" style=\"position:relative;\"><a href=\"#how-can-you-use-loginradius-cli\" aria-label=\"how can you use loginradius cli 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 can you use LoginRadius CLI</h2>\n<p>Check out a few examples of how LoginRadius CLI can help manage your <a href=\"https://dashboard.loginradius.com/\">Loginradius Dashboard</a>.</p>\n<h3 id=\"loginregister-to-your-loginradius-dashboard\" style=\"position:relative;\"><a href=\"#loginregister-to-your-loginradius-dashboard\" aria-label=\"loginregister to your loginradius dashboard 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>Login/Register to your LoginRadius Dashboard</h3>\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/tAAAACXBIWXMAAAsTAAALEwEAmpwYAAABoklEQVQoz5WS23PSQBSHM+OU224AxSC0EEhCuBUSbinQCi3QC9GOo6Pj5cGxHR8d/f/fPnehdXzxwYdvfntyzp6c3+4a1vkdjVlMfnmLDGJkf4v4b2JE7wYx/YRRdyJW3hFWYJNMlxCZQ6Q4Qii0SvkX4h/onN5rtTGEOyeV97Fe9PFaU3LPfdLZOvKpS8qskRBVkrK6Ux2LvKtwdqpr9DqTU5g2ohxgFNsLOt0Z3XDBYLzC9SPcZkS7d0ZvsGR6umV8ckkwumAwWeP4E2xnSLnap1IL1RAn2O6IguUjy32MbD1SDacch0uandme7ny36Tr+yP33X3y9+8G3+59sX39m/vIV8e0Xlqs3u3h1+Y5DO6DuDslVQoxC84zu8Zz+8GLXSE/hqr8Oow3dYMGzYotswdvbzNXVtFesr99zvnnL5uYDoXKVEBXS6lhEqacsN09pNoY0lE2/FeF4I1zFRDX0/DHFUouMrGDmasiszUGyxJOD4h8SqfI+p2pEsaMuRT0V0x5jKutSqaiOMGsT9FHo9eO3R3Ss8+aD7vMPNZ01vwHc4ORnyw0XpgAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"alt_text\"\n        title=\"Login Command\"\n        src=\"/static/20378843f2b588ccb2e890368d4ad825/e5715/login.png\"\n        srcset=\"/static/20378843f2b588ccb2e890368d4ad825/a6d36/login.png 650w,\n/static/20378843f2b588ccb2e890368d4ad825/e5715/login.png 768w,\n/static/20378843f2b588ccb2e890368d4ad825/7a3d6/login.png 990w\"\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>This command will help you to log in to the CLI. Once you logged in to the CLI, you can configure all your LoginRadius Applications through CLI. </p>\n<h3 id=\"manage-your-app-credentials\" style=\"position:relative;\"><a href=\"#manage-your-app-credentials\" aria-label=\"manage your app credentials 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>Manage your App Credentials</h3>\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: 78.15384615384615%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAQCAYAAAAWGF8bAAAACXBIWXMAAAsTAAALEwEAmpwYAAACtklEQVQ4y41U2W7TUBC1hFC9Nk6c2PESx7ETx9kdN0uTNjRdVCGxCwEVQoD6wqfwzBcfZm4btUJtxcPRta9nztwzZ64ld30F7/wrjLMraMsv0A9voC0//ycodkW5i0/Qrv9A2louLgof5sSH+rwGdc8m1KDJNnTFeRzyPSh16M9MaOe/IGn7TehWCrPaRdnJYNpdWPUejEobMn2T9yMoBLXUEs8M1WxBryTQyregWN1oQLsgQtcfoZUuMZqeIIynGIw36I+PETQnqAdD+LQ6/gAVO0XYmoqYci2FYoTQiVgrRdDMGLpGCrfXkIJmgaS/QX5wik7vEEm6QDY8Qn90jHx2huX6JdabVxgXW0yKUxTzC/ToGxdjMkHKhDoRnvyEVDIjmLUuam4PjjcQAZbD7306SUecjpMZFTpZldrBexz/IKFNAQFJCaIJSd2gGRfoDtaI07kIZmm7RIZKfVWMplh3e3r5HqHjDuC3ZmhnS7S7C9heH4PJBo0oJ/lzsZ/2V2h1ZvDCsSDjAlxI1hti3dOpqOZB20kuVTskJRMJLNsit1mSWW0TOnAbI9EGj1Y3GIl9juWiLL/ZnsEkHuXFD0g1GhOWOp5uqdlH4jRsAL9nJJ1d5Qlg0+aHl8K4kpUIx9nAgEhTirOsGMrmO6QqGRJn65txIfe4f+wmk03n5xjlJ2KM+BsbddfHRyR7jQkanbUYnVZ3hSCeIUrJlN4xvObNKQoi5l7+a9CDpvBgJ8NT+PGChjcjOW06QSTABnAC7xmcdEtwNy473CP0Qpr+Lg1qmCOfXyLJVnCp4QzbH1L1RFw1TtLKj4CuIV89cVMqugeHZtEmc+o0QiZVj8KhQOBlMKg3uvoUXLp2tD6vQGWXVfrtKLMPkIu3kKdvoNC6l7++Bb0fvIP6JN5DXXyESr8y9dtv/AUIlLwDXYfWsAAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"alt_text\"\n        title=\"API Credentials Commands\"\n        src=\"/static/6cbea556fc7286af4d9883543de16466/e5715/api-cred.png\"\n        srcset=\"/static/6cbea556fc7286af4d9883543de16466/a6d36/api-cred.png 650w,\n/static/6cbea556fc7286af4d9883543de16466/e5715/api-cred.png 768w,\n/static/6cbea556fc7286af4d9883543de16466/9c177/api-cred.png 880w\"\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>Get your API Credentials in a single command. You can also reset your secret and generate sott using the LoginRadius CLI.</p>\n<h3 id=\"domain-whitelisting\" style=\"position:relative;\"><a href=\"#domain-whitelisting\" aria-label=\"domain whitelisting 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>Domain Whitelisting</h3>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 605px; \"\n    >\n      <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 70.74380165289257%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAOCAYAAAAvxDzwAAAACXBIWXMAAAsTAAALEwEAmpwYAAACgUlEQVQ4y5VT227aQBBFlZrEu8YYYnOxDYSLMWBMgACxgRIoKYQqUtQ+NBD1mrc+9Rva5/7z6eyGRK2SqurD0eyOd87OmeON8Xffwd0pmL8Cb56DN3Zo/gf8JVRvBr7+htizyUe8NYv4GtWxuXAQv6oicWhBPchB5RRZ7t8Q556nwIMLxJSzW2TjNqyci5xdBncq4MkSWKIERTuCkjiSa54sQyXwp5CqQlUd8M4lYnzyQW5Uow6uV6EnXeiGh8OMh6zTgpltyLWqEymR/x7vwXW6jNvU4Rqxg3BD3XnIV4fIOG0U3AhOJUSjNUY4XqN/+grNYCILtVT5EdkfhK0VSQ5vkE5nUGsN0RucS6JCqQvPHyHonqHdm6Fz8hKDcIk85Q/ihacJVUG4FIRbZDJZVJt9tLtzuI0QTvFYEreOpyiUe7LDWiNCjkbAtOLfCcnt2P5wi3zBgtceUCcLKbFO3U3nV7SfE1EItx7idHwhZ8m0x5KFWQ+EjDrUE1mkMi6co45EKl0jeR1pSNpqSqI85XmiCIUk30N0K9fiEuGyJIw20CiZMOvy99ANF1Y+QNKsSZcN4XLao6IidNODmWvIfNb25RlxoWn54HzXoRJe0ww9WKUB0nYg53ZCsr1mJF3uDRZStmG1YJf6GEZLkr+muJJngs4ZfKphzLozZe/0Gm61i+niDcLJa3J3LI0YTS9hk8xi5QQuFfbJ5Yo3pLhCvTWBR6YF3Rm6w3P4nRniGo1A/DYs2kLbN6DG84jHHdm6HLB4TmItpAiIDiiyXRTfZW63V/cM+a5j7NNPsNkt4QuUyXuw8Q3YaCuhjDYPYA/x7hsbb+/OvqCa2WewOXFsfuAXI/yJS93EZyAAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"alt_text\"\n        title=\"Domain Commands\"\n        src=\"/static/f5950fca820daea07c795ea15241b7e4/90cbd/domain.png\"\n        srcset=\"/static/f5950fca820daea07c795ea15241b7e4/90cbd/domain.png 605w\"\n        sizes=\"(max-width: 605px) 100vw, 605px\"\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>Manage your white-listed domain for your application with simple commands.</p>\n<h3 id=\"theme-management\" style=\"position:relative;\"><a href=\"#theme-management\" aria-label=\"theme management 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>Theme Management</h3>\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: 60.46153846153845%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAYAAABiDJ37AAAACXBIWXMAAAsTAAALEwEAmpwYAAAByUlEQVQoz5WTW2+bQBCFeaqEF4ONuRtfMdflEhtUOWlIUBIllfKUqO/9D/3/0umwpmqjNm778GmG1eyZMztC0p+/IeheMb3/gtHhBawZqP+D5vUU26+QrLjD3ndgbH2MZBdMdig6UJgHZeT+I1Qr22CzENI4f8LETGF6F1gEDbKypTyH7uZQplsw4kd8nwDKZAPmFpCM6gFRdMBl+4woPWITNlhs9mBUoAww7Wf+J0StugKzOaRJ3sLzI1T1PbxliQ/MhzxeksgaIyo6J/QGrRfMaOT0FpYdYr4qsNxUMOxEiGmzHaZmKETPIY+HvDfRC2r8AZaTkVhC5MgKcryqsA5qJPknWF4mmNmxiIaTwPa4aGy6KRw/p3MOk87HTg5pVj6C8yPKwx2i7AqclpJXN/TdYb2rhUB/Wbci2HM+NODU4FdBakQN1dNSntA0dyj2nRAq9rdCjFctwuQo3nVOjlU9EG/7+8jLtyPrxSPK8prGu0bMr8jlpehqOql4w4kRCgd9PL+U9WnLwmHdoSSHVe+SRi4ubkS+iz9itT0IB6zfOF16F5UcWikkVnyGQuMoVgLNTqEOcWzGmLr0+H4BxYjA/gb9JWxR4zuefEPA4ACcsQAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"alt_text\"\n        title=\"Theme Management Commands\"\n        src=\"/static/d2c52b4d79f1632b8cdf80e29412774b/e5715/theme.png\"\n        srcset=\"/static/d2c52b4d79f1632b8cdf80e29412774b/a6d36/theme.png 650w,\n/static/d2c52b4d79f1632b8cdf80e29412774b/e5715/theme.png 768w,\n/static/d2c52b4d79f1632b8cdf80e29412774b/d56e1/theme.png 1130w\"\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 update the LoginRadius IDX Page theme from the predefined themes available through LoginRadius CLI. </p>\n<blockquote>\n<p>You can check out the <a href=\"\">Theme Customization</a> section in the LoginRadius Dashboard for all the available customization options.</p>\n</blockquote>\n<h3 id=\"add-social-logins\" style=\"position:relative;\"><a href=\"#add-social-logins\" aria-label=\"add social logins 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>Add Social Logins</h3>\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: 59.53846153846154%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAYAAABiDJ37AAAACXBIWXMAAAsTAAALEwEAmpwYAAABz0lEQVQoz41SW1LbQBDUp6WVJRtZT8t6I+stG+PCMmCcVCDJATgB9z9DZ3YDFLgg5KOrZ1banumZlaIfT8iPD1C2P8HKe7D6AWpDqD8G+xfa35CsdIBjuNCMANp4AcbmGI1syLILeeRAIVYUT+SK4kKl75/Dg6QXR4TxBmV3QNUfkNd7LJILeEEPP17DDTqYbiVix2/BJjHUaSLAJiegM8msv6HrbrDkQnQpJLGsuEJyvkWUXcLyKozpx6l5Dt3IwPQIKhf9BEKwaa+RVwPmYQ/XbxCQsIgXLfxoJQQVLfxSTAhOlwd48xo2CflRT7YaITJzShFz8M7kcShEFRIV/AF4QUnPb+GQLTdcI0gvRVeTWUZzKzGzCxj28pVNKjI1c/FN5MQcZ1YuRqOdpZCM8g51M6Ak22G2RUGzDNMLMcu82qFo9jTLDXVciEtckHfNc5uc8TMuzhvhTiSr+Y6WltKuadvpGlm5oUrvh8/e2qT41f4byOPgr2Wnu0e/OmA7/KJNX8OaV4hpwx49F/5E2MvAn5+KOjnhkzPJru6wave0mApBlEHTA6hUTdND4sX/Q/UFJHb1CDXdgxHUbEc8QEkI8U4wS57zL8Dvs+URfwAbbkIPvNEj9QAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"alt_text\"\n        title=\"Social Commands\"\n        src=\"/static/4213e34da4f8ce6990c9dd5c6d550b21/e5715/social.png\"\n        srcset=\"/static/4213e34da4f8ce6990c9dd5c6d550b21/a6d36/social.png 650w,\n/static/4213e34da4f8ce6990c9dd5c6d550b21/e5715/social.png 768w,\n/static/4213e34da4f8ce6990c9dd5c6d550b21/6c2de/social.png 1334w\"\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>With the help of LoginRadius CLI, you can add social logins to your LoginRadius IDX Page.</p>\n<h3 id=\"learn-more-about-the-loginradius--cli\" style=\"position:relative;\"><a href=\"#learn-more-about-the-loginradius--cli\" aria-label=\"learn more about the loginradius  cli 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>Learn More about the LoginRadius  CLI</h3>\n<p>Run <code>lr --help</code> to get the list of all available commands. Also you can checkout the <a href=\"https://www.loginradius.com/open-source/cli/manual\">manual for all the commands supported</a>.</p>\n<h2 id=\"try-loginradius-cli\" style=\"position:relative;\"><a href=\"#try-loginradius-cli\" aria-label=\"try loginradius cli 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>Try LoginRadius CLI</h2>\n<p>The LoginRadius CLI is available for Windows, macOS, and Linux. <a href=\"https://github.com/LoginRadius/lr-cli/tree/main#readme\">Check out the installation on our README</a>.</p>\n<h2 id=\"help-us-to-improve\" style=\"position:relative;\"><a href=\"#help-us-to-improve\" aria-label=\"help us to improve 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>Help us to improve</h2>\n<p>We hope you’ll love the LoginRadius CLI. And we’re even more excited about the future as we explore what it looks like to build a truly delightful experience with LoginRadius on the command line. </p>\n<p>We can’t wait to hear about your experience with LoginRadius CLI, and we’d love your feedback. Please create an issue in our <a href=\"https://github.com/LoginRadius/lr-cli/issues\">open source repository</a> or discuss what more commands you feel should be there on our <a href=\"https://community.loginradius.com/\">community page</a>.</p>\n<p><a href=\"https://www.loginradius.com/open-source/cli\">Checkout for more details</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":"July 02, 2021","updated_date":null,"description":"LoginRadius CLI helps you to perform basic actions of your LoginRadius Dashboard through the command line. The actions include login, register, logout, email configuration, domain whitelisting, etc.","title":"Introducing LoginRadius CLI","tags":["Authentication","DevTools","CLI","LoginRadius CLI"],"pinned":null,"coverImage":{"childImageSharp":{"fluid":{"aspectRatio":1.5037593984962405,"src":"/static/65b9c38d8aa61635972b0d2271c28c36/bc59e/cli.png","srcSet":"/static/65b9c38d8aa61635972b0d2271c28c36/69585/cli.png 200w,\n/static/65b9c38d8aa61635972b0d2271c28c36/497c6/cli.png 400w,\n/static/65b9c38d8aa61635972b0d2271c28c36/bc59e/cli.png 512w","sizes":"(max-width: 512px) 100vw, 512px"}}},"author":{"id":"Mohammed Modi","github":"mohammed786","avatar":null}}}},{"node":{"excerpt":"Marketing strategies come and go, but there’s hardly a strategy as effective, sustainable, scalable, and cost-efficient as email marketing…","fields":{"slug":"/growth/how-to-leverage-email-automation-personalization/"},"html":"<p>Marketing strategies come and go, but there’s hardly a strategy as effective, sustainable, scalable, and cost-efficient as email marketing. Brands have used email marketing for years. But as customer expectations continue to change, brands need to adapt accordingly.</p>\n<p>Modern-day consumers love attention. They want to be identified and valued. This has led to the rise of personalization in marketing, and email marketing is no different.</p>\n<p>But with brands having hundreds of thousands of subscribers in their email lists, providing personalized <a href=\"https://www.loginradius.com/blog/identity/2018/05/customer-experience-driving-digital-transformations/\">consumer experiences</a> can be challenging.</p>\n<p>Email automation personalization is a rising marketing approach that enables you to personalize and automate your email marketing simultaneously.</p>\n<p>Here’s how you can leverage email automation personalization to make your emails sound more personal and relevant.</p>\n<h2 id=\"why-is-email-personalization-the-cornerstone-of-modern-day-marketing-success\" style=\"position:relative;\"><a href=\"#why-is-email-personalization-the-cornerstone-of-modern-day-marketing-success\" aria-label=\"why is email personalization the cornerstone of modern day marketing success 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>Why Is Email Personalization the Cornerstone of Modern-Day Marketing Success?</h2>\n<p>The chances are that as a marketer, you’re already segmenting your audience and sending them targeted emails. But is that enough?</p>\n<p>Making your emails relevant is one thing, and making them interesting and engaging is something completely different. People won’t read your email if they aren’t engaged or feel connected to it. Modern-day consumers want to know “what’s in it for me” before even looking at the brand’s name.</p>\n<p>While some established brands have built a loyal customer base, most new and small businesses need to put extra effort into grabbing their target customer’s attention.</p>\n<p>Personalization is a powerful tool that can help you engage your audience and nurture your leads. If implemented correctly, it can make your conversations more personal and add a human element to your branding and marketing communications. In fact, personalized email marketing generates a median ROI of <a href=\"https://instapage.com/blog/personalization-statistics\">122%</a>.</p>\n<p>But what exactly is personalization?</p>\n<p>While you’ll find myriad definitions of personalization, let’s stick to the simplest. Personalization is a marketing and communication approach in which you cater to the individual needs of a customer. In a nutshell, personalization is all about making the customer feel that you’re interacting with them and meeting their needs at an individual level.</p>\n<p>The scope for personalization is vast. You can start with something as minuscule as addressing the recipient by their first name. Or, you can execute full-fledged email personalization campaigns with personalized offers, QR codes generated via best QR code generator and links to landing pages.</p>\n<h3 id=\"where-does-automation-come-into-play\" style=\"position:relative;\"><a href=\"#where-does-automation-come-into-play\" aria-label=\"where does automation come into play 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>Where Does Automation Come into Play?</h3>\n<p>Marketing automation brings myriad benefits to your business. For starters, it saves time. Because leads act as the fuel for businesses, collecting more leads has become a priority. But the more leads you gather, the more emails you’ll need to send. And the last thing you want is to manually send a welcome email every time a new user signs up for your newsletter.</p>\n<p>Email marketing automation automates the entire process. You can specify a criterion to trigger the email workflow. Moreover, you can select multiple criteria to continuously nurture your leads, increase brand awareness, and explore cross-selling and up-selling opportunities.</p>\n<p>Most importantly, it impacts the bottom line. With automation into play, you don’t need a business development or sales team sending cold emails to potential customers. This will save you time, money, and resources.</p>\n<p>Besides, email automation can dramatically increase conversion rates. Email automation workflows ensure that all your leads are nurtured, and you don’t miss out on any sales opportunities.</p>\n<h3 id=\"the-challenge-with-automation-personalization\" style=\"position:relative;\"><a href=\"#the-challenge-with-automation-personalization\" aria-label=\"the challenge with automation personalization 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 Challenge with Automation Personalization</h3>\n<p>Personalization and automation are disparate concepts. And often, brands have a hard time blending the two. Email marketing automation can cause two significant hurdles.</p>\n<ul>\n<li>Overcommunication: First, it can lead to over messaging. When using an email marketing system, going overboard and communicating too frequently with your prospects becomes a possibility. It can also result in repetitive messaging, which can turn off your prospects.</li>\n<li>Depersonalization: Second and most importantly, it can depersonalize your brand. Many companies fail to personalize their automated email campaigns. Not only does this cause low engagement, but it also increases the risk of your emails blending in with spam emails. Marketing Automation Survey by SCRIBD revealed that <a href=\"https://www.scribd.com/document/409346942/MarketingAutomationSurvey-pdf?campaign=SkimbitLtd&#x26;ad_group=143769X1608443Xfc0e18826a8bccda3ce6dd8bab2c2302&#x26;keyword=660149026&#x26;source=hp_affiliate&#x26;medium=affiliate\">61% of marketers are concerned about the lack of personalization due to automation</a>.</li>\n</ul>\n<p>To avoid this from happening, brands need to implement the right tools and systems to leverage the benefits of personalization and automation simultaneously.</p>\n<h3 id=\"how-to-leverage-email-automation-personalization-to-boost-email-marketing-performance\" style=\"position:relative;\"><a href=\"#how-to-leverage-email-automation-personalization-to-boost-email-marketing-performance\" aria-label=\"how to leverage email automation personalization to boost email marketing performance 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 to Leverage Email Automation Personalization to Boost Email Marketing Performance?</h3>\n<p>If you haven’t used automation before, automating your marketing campaigns may seem like a daunting task. But by using the right tools and strategies, you can make it happen.</p>\n<p>Let’s look at how you can make your email automation and personalization work together.</p>\n<h3 id=\"collect-as-much-data-as-possible\" style=\"position:relative;\"><a href=\"#collect-as-much-data-as-possible\" aria-label=\"collect as much data as possible 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>Collect as Much Data as Possible</h3>\n<p>Collecting customer data is the first step in any personalized marketing strategy. When you know your prospects and customers well, you can better cater to their specific requirements.</p>\n<p>You can collect data in many ways. When it comes to email marketing, the easiest and most effective way to gather information is by <a href=\"http://kamayobloggers.com/best-landing-page-software/\">including a sign-up form</a>. Ask for the basic information in the sign-up form to know your customers. But don’t ask too many questions – name and email address are enough. If you want more information, such as location, interests, and preferences, you can ask for it later on.</p>\n<p>For example, suppose you want to know where your new subscriber lives, but you don’t want to ask that in the sign-up form. Once the person joins your email list, you can send them an email stating, “Hey John, where are you from?” Similarly, you can ask about their birthday. In fact, birthday emails generate <a href=\"https://www.experian.com/assets/marketing-services/white-papers/ccm-birthday-emails-best-practices-guide.pdf\">342%</a> higher conversions than standard emails. So, ensure that you don’t forget your prospects’ birthdays.</p>\n<p>You can use QR codes to collect emails from your offline customers. A large share of the population still shops in brick-and-mortar stores. You can connect with these customers by email with the help of email QR codes.</p>\n<p>Create a QR code using a <a href=\"https://www.beaconstac.com/qr-code-generator\">QR code generator</a> and link it to your email sign-up form. You can put this code inside your store, on product packaging, or in your advertising materials. Users can use their phones to scan the code and sign up for your email newsletter. QR codes are highly trackable. When users scan the code, you can collect information such as location, device, etc., to better understand your customers.</p>\n<p>Read More: <a href=\"https://www.loginradius.com/blog/identity/2020/12/iot-smart-authentication/\">LoginRadius launches QR-code-based authentication for hassle-free log in</a></p>\n<p>Once you have developed a rapport with a prospect, you can ask for information through surveys and feedback emails. Surveys can be effective in knowing your customers better and understanding their requirements.</p>\n<h3 id=\"set-triggers-and-rules\" style=\"position:relative;\"><a href=\"#set-triggers-and-rules\" aria-label=\"set triggers and rules 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>Set Triggers and Rules</h3>\n<p>Now that you have an email list and basic information about your prospects, it’s time to kickstart your email marketing campaign. To do that, you’ll need to have an <a href=\"https://www.loginradius.com/integrations/constant-contact/\">email marketing platform</a> in place.</p>\n<p>All email automation solutions support triggers. You can choose a trigger that’ll automatically send an email to the subscriber. For example, a trigger can be “A subscriber signs up for the email list” or “A subscriber makes the first purchase.” You can link specific email messages with each trigger. Once you set a trigger and a subscriber takes that action, your email platform will send an email associated with that trigger.</p>\n<p>Here’s a great example from an automated welcome email from Healthline, a health information provider.</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: 59.53846153846154%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAIAAADtbgqsAAAACXBIWXMAAAsTAAALEwEAmpwYAAABGUlEQVQoz5WS2Y6DMAxF+/+fN31gl0qZislOKJCQhYwJw1uQOlcWGAvnXGxu4ZSP2rYNcuO32fq33Z/DtW7JKte2lLoYtFxdCNuhRPNRXealruosy9rHw1obPtMf2Rhz/7rneV43TVVVhJC2bb+7rirLsiiapumezxA9pG0jhBhjGGN4DyPU9z2jtOs6SF5Ry7Kkyc45zjklBK7DMFBK4SAhxJFAm1Jqnuc02XnPGQMIwVEIQSD0A/4PR5RQKcc02XsHwIgVgu8hpTSnVpDWcEuTvXOM8TMYnEIIZlxSMbFYEkKO09U3+41JRQfNx1XIt1ZqB5rVRmzEW+vC5cDe42it8Q7WDH+W/8eeYYUwDzAIExacT9P0SfMvTcy4GNiS4UkAAAAASUVORK5CYII='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"Healthline\"\n        title=\"Healthline\"\n        src=\"/static/ab32d5b290d542fa45b4801d710e2ce9/e5715/image2.png\"\n        srcset=\"/static/ab32d5b290d542fa45b4801d710e2ce9/a6d36/image2.png 650w,\n/static/ab32d5b290d542fa45b4801d710e2ce9/e5715/image2.png 768w,\n/static/ab32d5b290d542fa45b4801d710e2ce9/302a4/image2.png 1080w\"\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>Image Source: <a href=\"https://www.healthline.com/\">Healthline</a></p>\n<p>Setting up triggers is great, but not enough. If you want to truly personalize your email marketing, you’ll need to send emails based on customers’ actions. Here’s where rules come into play. Rules are a set of criteria that a customer should meet. Once they meet the requirements, an automated email will be sent to them.</p>\n<p>For example, Sephora, a cosmetics and personal care brand, sends an email providing a 20% discount to customers who shop for more than $200.</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 438px; \"\n    >\n      <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 81.27853881278538%; position: relative; bottom: 0; left: 0; background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAQCAIAAACZeshMAAAACXBIWXMAAAsTAAALEwEAmpwYAAADrElEQVQoz03R+09bVQDA8fu7/8CSGTNNtkxjcBAe4yU6GHQyN6D0lpa+KbTlsdnoYCbEJTphmumADIWwOGA4ESRC99Ax21LG6IOUe9t7b3vvOfe23SiwUZwR42Nz9HjGfjH55uSck/PJOckhSB8gA4IyIKiWoCoIcAYa2iPxE5G4PRo/xSdOCQlrRDKyUMeI9hBDHil5T3lswK52XewkSC8g/QL5P6ynYAsr2dhYGxfD3h6NNXLQQPN6YcU4ctn0Zmb78aKFvvY/GRfGAsZ1AUG9BOqDUBMEJlrU0aCeBg1hUR+GBkY0MMBIRY3RRMeXXZrcversvf12M5i5RCgw9gH8bCslWWnJTIt2Nt7GSNi/H4nbWKkjipfQEgZtLBjrP5Oz64V+m2p2oIe92rtzsw/U+vnGZdG0LOqXgTUk6ihQT4FmRmxhxRYG2sJ4DppD/Oz4+faqvNE2MuUY5Mb7CMUij7HCL2iXoI0SzRRooqGFhtYQOMGI1hBsDsNWBraEeSvNO2+PTH2i69GXckNnbnWf3sFeoPQLmiVgXobGIGigBFNIbGRjFkZqZCQrE7OFhIaQoGXv9c7dGPugksza4zxriwz3PMdCnR//Fq/086pAVBe9f3hg+OWMAxll5fuysos+OqvhV+y+oMs9E7h1ZcAiO1m873xtwfcdBkJ+hyMXIorFCOnlVD5O7eN0IenY+HSWSptvac3WGGQXh/TRlcmRvvWp3k3PBDv6qefzlrmuxu6aPEJFJzXhVQ23qokk9ZGkkV8zRpN6IWm+/8gUT5kTm9pY6rRv2X2u9cHs4KZzdLH3Q+py92NqZss7Sew+WLI7/60XcQU75ZfsKS7Nq617veJoTpUir0aZq1AfKCzOfWlXaeZrFblvFO1/pSRj/6HMV2UFOURpTXlpTUWZvAJPDlWXv111uEwuU1m1x7VyskmttGiUTfUydVVh7dECeeXB6iNFincLaysL5O/kV8sIN0q50MPbaM2NNnBzKIXHWbTmRA/w5uyz1nF30cYC2riLUvNow4M25p+VIhxpYfy34BB0TmzR15E485THXdsGP27zru346tOtR+m/wk8eXlrnvrkXHUpyP/zDO9L89M4x4icU/zryc/vYhc6pr0aSC9hfQxB3HUGw/WsapX9//GSciS8KCYaXPp5jO33sxN/gBoIOBImbKDa8cqfrlyvn3N9+5vlu+l8eewcCN5G4tv0HQulJabVy8OqC37vocX8xT510Mhfi/PM7/gPHe19oeulYcQAAAABJRU5ErkJggg=='); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"Healthline\"\n        title=\"Healthline\"\n        src=\"/static/aafc5d9fb342e75a8f21c08bbfa901ba/50e4b/image1.png\"\n        srcset=\"/static/aafc5d9fb342e75a8f21c08bbfa901ba/50e4b/image1.png 438w\"\n        sizes=\"(max-width: 438px) 100vw, 438px\"\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>Image Source: <a href=\"https://www.sephora.com/\">Sephora</a></p>\n<h3 id=\"use-dynamic-text\" style=\"position:relative;\"><a href=\"#use-dynamic-text\" aria-label=\"use dynamic text 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>Use Dynamic Text</h3>\n<p>The key to succeeding with personalized automation is to keep things simple. For example, merely adding the subscriber’s first name in the subject line and email body can go a long way in boosting click-through rates and engagement. Emails with personalized subject lines achieve <a href=\"https://www.data-axle.com/resources/news-media-coverage/data-personalized-email-subject-lines-boost-open-rates-by-50-percent/\">50%</a> higher open rates.</p>\n<p>You can implement dynamic text to add the subscriber’s name in the email subject line and body. Dynamic text changes as per the information provided by the subscriber. Almost every email marketing platform supports dynamic text functionality.</p>\n<h3 id=\"create-personalized-content\" style=\"position:relative;\"><a href=\"#create-personalized-content\" aria-label=\"create personalized content 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>Create Personalized Content</h3>\n<p>We’ve arrived at the most crucial step of email automation personalization – creating content. The purpose of personalization is to eliminate the one-fits-all approach from your email marketing. To do that, you’ll need to create content that serves different types of prospects and customers.</p>\n<p>For instance, you’ll need to send different emails when a customer:</p>\n<ul>\n<li>Joins your list</li>\n<li>Makes their first purchase</li>\n<li>Spends a certain amount of money</li>\n<li>Has been with you for one year, two years, etc.</li>\n<li>Is celebrating their birthday</li>\n</ul>\n<p>Furthermore, if you cater to different customer types, you’ll need to segment them and create unique content for each segment. For example, suppose you’re a clothing store that sells clothing and apparel for both men and women. In that case, you might want to create different email content for your male and female customers.</p>\n<h3 id=\"use-the-right-integrations\" style=\"position:relative;\"><a href=\"#use-the-right-integrations\" aria-label=\"use the right integrations 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>Use the Right Integrations</h3>\n<p>Connect your email marketing platform with other tools in your marketing stack, such as CRM, social media management software, etc. Most solutions nowadays support native integrations. If not, you can use integration enablers like <a href=\"https://zapier.com/apps/loginradius/integrations\">Zapier</a> or <a href=\"https://www.coupler.io/\">Coupler.io</a>. This way, you can integrate your email marketing with other marketing campaigns to create a unified marketing environment.</p>\n<h3 id=\"keep-personalizing\" style=\"position:relative;\"><a href=\"#keep-personalizing\" aria-label=\"keep personalizing 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>Keep Personalizing</h3>\n<p>There’s no limit to personalization. You can personalize the entire customer journey and all touchpoints to create a hyper-personalized experience for your users. This means you can begin delivering personalized experiences when a customer joins your email list and continue personalizing their experience throughout their journey.</p>\n<h3 id=\"how-does-email-automation-personalization-increase-revenue\" style=\"position:relative;\"><a href=\"#how-does-email-automation-personalization-increase-revenue\" aria-label=\"how does email automation personalization increase revenue 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 Does Email Automation Personalization Increase Revenue?</h3>\n<p>In the end, it’s all about the bottom line. Here’s how automation and personalization of email marketing can increase sales and revenue.</p>\n<h3 id=\"laser-focused-customer-targeting\" style=\"position:relative;\"><a href=\"#laser-focused-customer-targeting\" aria-label=\"laser focused customer targeting 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>Laser-Focused Customer Targeting</h3>\n<p>You must’ve heard that email marketing can generate an ROI of up to 4400%. However, to achieve these kinds of results, you need to make sure you target the right consumers. They should be willing to hear from you.</p>\n<p>However, that isn’t the hard part. It’s easy to figure out which customers are looking forward to your emails. Things get tricky when you scale up. For example, Healthline has 31 newsletters, and they create unique content for each newsletter at least once a month. For popular ones, the frequency is weekly or even daily. This way, they can personalize their consumers’ experiences.</p>\n<p>Imagine sending consumers from each list one email at a time, manually. How time-consuming it’d be. With marketing automation, they automate the entire process, and you can do the same, even if you haven’t scaled like Healthline. With automation personalization, you deploy actions based on customer data and actions to give your subscribers exactly what they need.</p>\n<h3 id=\"increased-relevancy\" style=\"position:relative;\"><a href=\"#increased-relevancy\" aria-label=\"increased relevancy 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>Increased Relevancy</h3>\n<p>Again, marketing automation poses the risk of overcommunication. Lack of relevancy can make your subscribers lose interest in what you have to say. Here’s where hyper-personalization comes into play. Based on the rules you implement, you can make your emails highly relevant. And when you send more relevant emails, your emails are more likely to drive engagement and inspire action.</p>\n<h3 id=\"customer-retention-and-loyalty\" style=\"position:relative;\"><a href=\"#customer-retention-and-loyalty\" aria-label=\"customer retention and loyalty 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>Customer Retention and Loyalty</h3>\n<p>A survey conducted by Havas Media discovered that <a href=\"https://www.cnbc.com/2017/02/02/people-wouldnt-care-if-three-quarters-of-brands-disappeared-survey.html\">people wouldn’t care if 74% of brands disappeared</a>. This clearly shows that not only is customer loyalty crucial, but it’s challenging to achieve.</p>\n<p>Marketing personalization can make things easier for you. When you deliver personalized experiences, customers feel special, recognized, and valued. This encourages them to stay loyal to your brand.</p>\n<h3 id=\"final-thoughts\" style=\"position:relative;\"><a href=\"#final-thoughts\" aria-label=\"final thoughts 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>Final Thoughts</h3>\n<p>Personalizing emails isn’t a choice anymore for brands. Customers expect you to understand their requirements and fulfill them. And doing that at scale can be challenging. However, by blending personalization with automation, you can deliver personalized experiences to all your customers.</p>\n<p>This can help your brand in two ways. First, it can reduce your costs and increase your marketing efficiency. And second, it can make your marketing more personal, relevant, and effective, resulting in better engagement and more customers.</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-a-demo-loginradius\"\n        title=\"book-a-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":"July 02, 2021","updated_date":null,"description":" The chances are that as a marketer, you’re already segmenting your audience and sending them targeted emails. But is that enough? Making your emails relevant is one thing, and making them interesting and engaging is something completely different. If implemented correctly, personalization is a powerful tool that can help you engage your audience and nurture your leads.","title":"How to Make Your Automated Emails Sound Personal, Relevant, and Effective?","tags":["email marketing","customer experience","personalization"],"pinned":null,"coverImage":{"childImageSharp":{"fluid":{"aspectRatio":1.5037593984962405,"src":"/static/21bd5a601a8d0035062e230120fda2c3/14b42/email-automation.jpg","srcSet":"/static/21bd5a601a8d0035062e230120fda2c3/f836f/email-automation.jpg 200w,\n/static/21bd5a601a8d0035062e230120fda2c3/2244e/email-automation.jpg 400w,\n/static/21bd5a601a8d0035062e230120fda2c3/14b42/email-automation.jpg 800w,\n/static/21bd5a601a8d0035062e230120fda2c3/47498/email-automation.jpg 1200w,\n/static/21bd5a601a8d0035062e230120fda2c3/0e329/email-automation.jpg 1600w,\n/static/21bd5a601a8d0035062e230120fda2c3/34df9/email-automation.jpg 5299w","sizes":"(max-width: 800px) 100vw, 800px"}}},"author":{"id":"Akshay Deogiri","github":null,"avatar":null}}}},{"node":{"excerpt":"The year 2021 will mark the 4th anniversary of the first WannaCry Ransomware attack, which brought the concept of ransomware breaches into…","fields":{"slug":"/identity/cybersec-roundup-june-2021/"},"html":"<p>The year 2021 will mark the 4th anniversary of the first WannaCry Ransomware attack, which brought the concept of ransomware breaches into the limelight. It has been about half a decade since then. </p>\n<p>Cybersecurity isn’t just an IT issue anymore. It has caused substantial losses to businesses, governments, and individuals around the world. As we head into the third quarter of 2021, this insight is picking up steam.</p>\n<p>In this blog, we will look at the top security breaches in June 2021—when the world economy is already dealing with the effects of the coronavirus.</p>\n<h2 id=\"popular-companies-that-lost-control-of-consumer-data-in-june-2021\" style=\"position:relative;\"><a href=\"#popular-companies-that-lost-control-of-consumer-data-in-june-2021\" aria-label=\"popular companies that lost control of consumer data in june 2021 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>Popular Companies That Lost Control of Consumer Data in June 2021</h2>\n<h3 id=\"1-linkedins-massive-data-breach\" style=\"position:relative;\"><a href=\"#1-linkedins-massive-data-breach\" aria-label=\"1 linkedins massive data breach 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>1. LinkedIn's Massive Data Breach</h3>\n<p>According to a report by <a href=\"https://restoreprivacy.com/linkedin-data-leak-700-million-users/\">RestorePrivacy</a>, on June 22, a user on a famous hacker site announced the sale of data from 700 million people. </p>\n<p>One million LinkedIn members' email addresses, full names, phone numbers, addresses, and geolocations were included in a sample shared by the user.</p>\n<p>LinkedIn, on the other hand, explained the data's apparent legitimacy. \"Our initial study has revealed that this data was scraped from LinkedIn and other websites and that it contains the same data that we disclosed earlier this year in our April 2021 scraping update,\" the company noted.</p>\n<p>This is LinkedIn's second data security breach incident this year. Earlier, in April 2021, around 500 million user data was stolen from the platform, which included publicly visible profile data.</p>\n<h3 id=\"2-alibabas-billion-item-data-leak\" style=\"position:relative;\"><a href=\"#2-alibabas-billion-item-data-leak\" aria-label=\"2 alibabas billion item data leak 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>2. Alibaba's Billion-item Data Leak</h3>\n<p>A software developer based in China used Alibaba’s popular <a href=\"https://www.theregister.com/2021/06/16/alibaba_tabao_scraped_data_leak/\">Taobao shopping website</a> for eight months to collect more than 1.1 billion pieces of user information without the company noticing until recently.</p>\n<p>A spokeswoman for Alibaba Group Holding Ltd. said the company proactively discovered and addressed a security flaw in its systems that allowed some unauthorized searches by a third party. The company said it would strengthen security and work with law enforcement but didn’t say how many people were affected.</p>\n<p>The firm revealed that 925 million of its users an average of once a month use their platforms for retail, and the breach of its database caused no personal information or financial losses.</p>\n<p><strong>Also Read</strong>: <a href=\"https://www.loginradius.com/blog/identity/data-security-best-practices/\">9 Data Security Best Practices For 2021</a></p>\n<h3 id=\"3-ea-suffers-a-data-breach\" style=\"position:relative;\"><a href=\"#3-ea-suffers-a-data-breach\" aria-label=\"3 ea suffers a data breach 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>3. EA Suffers a Data Breach</h3>\n<p>Hackers broke into Electronic Arts (EA), the video-game publisher behind Battlefield, FIFA, and The Sims, and stole detailed source code to FIFA 21, the Frostbite engine, and other game development tools. </p>\n<p>Other reputable game creators are unlikely to utilize EA's code without permission, but malevolent hackers might use it to cheat or breach a game or engine. A data hack might expose confidential projects and game concepts. Breaching of security is also bad for a company's reputation.</p>\n<p>In addition, the hackers claimed to have Microsoft Xbox and Sony SDKs and API keys for sale. They even uploaded a screenshot displaying a total of 780GB of stolen items.</p>\n<p><span\n      class=\"gatsby-resp-image-wrapper\"\n      style=\"position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 695px; \"\n    >\n      <span\n    class=\"gatsby-resp-image-background-image\"\n    style=\"padding-bottom: 104.92307692307692%; position: relative; bottom: 0; left: 0; background-image: url('data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAVABQDASIAAhEBAxEB/8QAFwABAQEBAAAAAAAAAAAAAAAAAAECBf/EABQBAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhADEAAAAe1pSqJQA//EABgQAAIDAAAAAAAAAAAAAAAAAAABESAx/9oACAEBAAEFAnqIV//EABQRAQAAAAAAAAAAAAAAAAAAACD/2gAIAQMBAT8BH//EABQRAQAAAAAAAAAAAAAAAAAAACD/2gAIAQIBAT8BH//EABYQAQEBAAAAAAAAAAAAAAAAADEAIP/aAAgBAQAGPwIiN//EABwQAAEEAwEAAAAAAAAAAAAAAAEAETGRECFRYf/aAAgBAQABPyENtKQAyFLyUmLyEx6KwJz/AP/aAAwDAQACAAMAAAAQEMc8/8QAFBEBAAAAAAAAAAAAAAAAAAAAIP/aAAgBAwEBPxAf/8QAFBEBAAAAAAAAAAAAAAAAAAAAIP/aAAgBAgEBPxAf/8QAHRAAAgIDAAMAAAAAAAAAAAAAASEAERAxUZHB8f/aAAgBAQABPxC1g+HNM4AdeFCU6E0CL9wBAae/WLWef//Z'); background-size: cover; display: block;\"\n  ></span>\n  <img\n        class=\"gatsby-resp-image-image\"\n        alt=\"Dark-Web-Hackers-e1623404162841\"\n        title=\"Dark-Web-Hackers-e1623404162841\"\n        src=\"/static/9934cb94ae316297de59437a4da705be/f2e7e/Dark-Web-Hackers-e1623404162841.jpg\"\n        srcset=\"/static/9934cb94ae316297de59437a4da705be/6aca1/Dark-Web-Hackers-e1623404162841.jpg 650w,\n/static/9934cb94ae316297de59437a4da705be/f2e7e/Dark-Web-Hackers-e1623404162841.jpg 695w\"\n        sizes=\"(max-width: 695px) 100vw, 695px\"\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>Screenshot: <a href=\"https://www.bleepingcomputer.com/news/security/hackers-breach-gaming-giant-electronic-arts-steal-game-source-code/\">Bleepingcomputer</a></p>\n<h3 id=\"4-cvs-data-records-accidentally-exposed\" style=\"position:relative;\"><a href=\"#4-cvs-data-records-accidentally-exposed\" aria-label=\"4 cvs data records accidentally exposed 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>4. CVS Data Records Accidentally Exposed</h3>\n<p>According to <a href=\"https://abc7chicago.com/cvs-data-breach-medical-records-health-cyber-attack/10798172/\">ABC News</a>, more than one billion search data from CVS Pharmacy's website were exposed online. The vulnerability was discovered by a cybersecurity researcher named Jeremiah Fowler. </p>\n<p>The details are related to search phrases on CVS Pharmacy's website and included information about Covid-19 vaccines that people were looking for. Fowler added that users typed in their email address in some cases, which was available in the records.</p>\n<p>CVS admitted to ABC News that they had overlooked a database connected to them and that the breach stemmed from a third-party vendor who was hosting the information. The database has been shut down since. </p>\n<p><strong>Also Read</strong>: <a href=\"https://www.loginradius.com/blog/identity/cyber-threats-business-risk-covid-19/\">Protecting Organization From Cyber-Threats: Business at Risk During COVID-19</a>.</p>\n<h3 id=\"5-jbs-sa-the-worlds-largest-meat-supplier\" style=\"position:relative;\"><a href=\"#5-jbs-sa-the-worlds-largest-meat-supplier\" aria-label=\"5 jbs sa the worlds largest meat supplier 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. JBS SA: The World’s Largest Meat Supplier</h3>\n<p>Computer network disruptions at JBS, a multinational conglomeration of animal processing and food manufacturing companies, have had trouble reeling in Australia, Canada, and the US. </p>\n<p>JBS has the five largest beef plants in the United States, and the shutdown has put a fifth of the country's meat supply on hold.</p>\n<p>In June, <a href=\"https://www.bbc.com/news/world-us-canada-57318965\">JBS confirmed</a> that it paid a ransom of nearly $11 million worth of bitcoin to hackers after they disabled its computer systems and demanded payment in the cryptocurrency.</p>\n<h3 id=\"6-nyc-law-departments-large-scale-lockout\" style=\"position:relative;\"><a href=\"#6-nyc-law-departments-large-scale-lockout\" aria-label=\"6 nyc law departments large scale lockout 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>6. NYC Law Department’s Large-Scale Lockout</h3>\n<p>The New York City Law Department was hacked, leaving thousands of its lawyers locked out of their accounts.</p>\n<p>It turned out that a hacker got into the network of the 1,000-lawyer agency by using a worker's email password. The invasions caused havoc with the city's lawyers, halted court procedures, and threw the department's legal affairs into turmoil. Most expressed concerns about the exposure of Social Security numbers and other sensitive data.</p>\n<p>Officials also stated that there was no evidence that the attack harmed the city's computer systems, even though the inquiry was still ongoing. Investigators are still attempting to figure out who the criminal is and the motive of the perpetrator.</p>\n<h2 id=\"protect-your-organization-against-cyber-attacks\" style=\"position:relative;\"><a href=\"#protect-your-organization-against-cyber-attacks\" aria-label=\"protect your organization against cyber attacks 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>Protect Your Organization Against Cyber Attacks</h2>\n<p>Seeing how cyber attacks can cause damage should be reason enough to take preventive measures right away. For instance, McKinsey sees next-generation <a href=\"https://www.loginradius.com/\">Identity and Access Management</a> leading enterprise cybersecurity spending in 2021. </p>\n<p><img src=\"/c477c101a064c23121e6dc2f7f2cf09c/mckinsey.jpg\" alt=\"mckinsey\"></p>\n<p><strong>Image Source</strong>: <a href=\"https://www.mckinsey.com/business-functions/risk/our-insights/covid-19-crisis-shifts-cybersecurity-priorities-and-budgets\">McKinsey </a></p>\n<p>What other steps can you take to reinforce your organization's cybersecurity framework and protect it from cyberattacks?</p>\n<ul>\n<li>\n<p><strong>Passwordless authentication:</strong> <a href=\"https://www.loginradius.com/blog/identity/passwordless-authentication-the-future-of-identity-and-security/\">Passwordless authentication</a> eliminates the need for users to enter passwords during the verification process. Instead, they must produce another type of proof that verifies their identity, such as a one-time password (OTP), secret PIN, SMS- or app-generated codes, biometrics, etc. </p>\n<p>Hackers want your data. They spend a lot of time trying to break into computer systems, and your passwords are the keys to those systems. So, when you do not have passwords in the first place, that gateway is already locked. </p>\n</li>\n<li>\n<p><strong>Data encryption and regular data backups</strong>: Data encryption is still one of the most effective methods of preventing data leaks. Ensure that sensitive data, such as private consumer information, employee information, and other sorts of sensitive corporate data, is encrypted first and then backed up. </p>\n<p>This way, if your company's sensitive data slips into the wrong hands or you fall victim to ransomware attacks, there's nothing to lose. </p>\n</li>\n<li><strong>Use MFA</strong>: Two-factor authentication or multi-factor authentication adds additional layers of security to the traditional password-based method of identity verification. You'll need to provide an extra authentication method such as a PIN, passcode, or even your fingerprint to re-verify your identity. </li>\n</ul>\n<p>Authenticating consumers is difficult and time-consuming. When used in conjunction, <a href=\"https://www.loginradius.com/contact-sales/\">a CIAM solution like LoginRadius</a> can significantly improve cybersecurity. It uses the approaches mentioned above and all recommended practices to filter permitted access and avoid typical attack situations.</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":"July 01, 2021","updated_date":null,"description":"Cybersecurity isn’t just an IT issue anymore. It has caused substantial losses to businesses, governments, and individuals around the world. In this blog, we will look at the top security breaches in June 2021.","title":"Cyber Security Round-Up: What Happened in June 2021","tags":["other"],"pinned":null,"coverImage":{"childImageSharp":{"fluid":{"aspectRatio":1.5037593984962405,"src":"/static/c0a2a5cac33c058d24fad06e7ecc0673/14b42/cybersec-roundup-june-2021-cover.jpg","srcSet":"/static/c0a2a5cac33c058d24fad06e7ecc0673/f836f/cybersec-roundup-june-2021-cover.jpg 200w,\n/static/c0a2a5cac33c058d24fad06e7ecc0673/2244e/cybersec-roundup-june-2021-cover.jpg 400w,\n/static/c0a2a5cac33c058d24fad06e7ecc0673/14b42/cybersec-roundup-june-2021-cover.jpg 800w,\n/static/c0a2a5cac33c058d24fad06e7ecc0673/16310/cybersec-roundup-june-2021-cover.jpg 1024w","sizes":"(max-width: 800px) 100vw, 800px"}}},"author":{"id":"Navanita Devi","github":null,"avatar":null}}}}]},"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":438,"currentPage":74,"type":"///","numPages":161,"pinned":"ee8a4479-3471-53b1-bf62-d0d8dc3faaeb"}},"staticQueryHashes":["1171199041","1384082988","2100481360","23180105","528864852"]}