{"componentChunkName":"component---src-pages-author-author-yaml-id-js","path":"/author/karl-wittig/","result":{"data":{"allMarkdownRemark":{"edges":[{"node":{"id":"53a330e0-3095-53a6-8854-86afa45c3a26","html":"<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<p>In an increasingly digital world, Customer Identity and Access Management is a cornerstone of secure and efficient business operations. </p>\n<p>However, during crisis situations, many companies find their Customer IAM systems inadequate, leading to security breaches, poor user experiences, and operational disruptions. Understanding the root causes of these struggles is essential for developing <a href=\"https://www.loginradius.com/blog/identity/things-to-know-before-creating-ciam-strategy/\">resilient CIAM strategies</a> that can withstand the pressures of unforeseen events.</p>\n<h2 id=\"the-importance-of-robust-ciam-in-crisis-situations\" style=\"position:relative;\"><a href=\"#the-importance-of-robust-ciam-in-crisis-situations\" aria-label=\"the importance of robust ciam in crisis situations 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 Importance of Robust CIAM in Crisis Situations</h2>\n<p>Customer IAM systems are designed to manage and secure customer identities, ensuring that only authorized individuals can access sensitive information and services. </p>\n<p>In a crisis, the stakes are higher: cyber threats increase, customer demands shift rapidly, and the need for secure, reliable access becomes paramount. A robust system must be adaptable, resilient, and secure, capable of handling sudden changes in user behavior and heightened security risks.</p>\n<h2 id=\"common-pitfalls-in-customer-iam-during-crises\" style=\"position:relative;\"><a href=\"#common-pitfalls-in-customer-iam-during-crises\" aria-label=\"common pitfalls in customer iam during crises 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>Common Pitfalls in Customer IAM During Crises</h2>\n<ol>\n<li>\n<p><strong>Scalability Issues:</strong></p>\n<ul>\n<li><strong>High Traffic Volume:</strong> Crises often lead to a surge in user activity, overwhelming identity management systems that are not designed to scale quickly. This can result in system slowdowns or crashes, leaving customers frustrated and unprotected. Here’s where businesses need a system with the highest (100%)  <a href=\"https://www.loginradius.com/scalability/\">scalability capabilities. </a></li>\n<li><strong>Resource Limitations:</strong> Limited infrastructure and resources can hinder the ability to scale customer IAM solutions effectively, causing bottlenecks and reducing performance.</li>\n</ul>\n</li>\n<li>\n<p><strong>Security Vulnerabilities:</strong></p>\n<ul>\n<li><strong>Increased Cyber Attacks:</strong> Cybercriminals exploit crises, targeting vulnerable systems with phishing, malware, and other attacks. A weak identity management system may not have the advanced threat detection and response capabilities needed to fend off these threats. Hence, a robust system with <a href=\"https://www.loginradius.com/security/\">cutting-edge security</a> is the need of the hour. </li>\n<li><strong>Inadequate Security Measures:</strong> Outdated or insufficient security protocols can expose sensitive customer data, leading to breaches that damage trust and compliance issues.</li>\n</ul>\n</li>\n<li>\n<p><strong>Poor User Experience:</strong></p>\n<ul>\n<li><strong>Complicated Access Procedures:</strong> In times of stress, users expect seamless access to services. Complex authentication processes can frustrate customers and push them towards competitive systems with more user-friendly solutions.</li>\n<li><strong>Inconsistent User Interfaces:</strong> A disjointed user experience across different platforms and devices can confuse customers, leading to abandoned transactions and reduced engagement.</li>\n</ul>\n</li>\n</ol>\n<p><a href=\"https://www.loginradius.com/resource/guide/ciam-buyers-guide-secure-roi/\"><img src=\"/7fc95a8ab311a513c7ef8ad1f02d6461/GD-ciam.webp\" alt=\"GD-ciam\"></a></p>\n<ol start=\"4\">\n<li>\n<p><strong>Operational Disruptions:</strong></p>\n<ul>\n<li><strong>Inflexible Systems:</strong> Rigid systems that cannot adapt to new business processes or regulatory requirements during a crisis can impede a company’s ability to respond effectively.</li>\n<li><strong>Lack of Integration:</strong> Poor integration with other business systems and applications can create data silos, reducing operational efficiency and the ability to provide a unified customer experience. </li>\n</ul>\n</li>\n</ol>\n<h2 id=\"strategies-to-enhance-ciam-resilience\" style=\"position:relative;\"><a href=\"#strategies-to-enhance-ciam-resilience\" aria-label=\"strategies to enhance ciam resilience 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>Strategies to Enhance CIAM Resilience</h2>\n<ol>\n<li>\n<p><strong>Invest in Scalable Infrastructure:</strong></p>\n<ul>\n<li><strong>Cloud-Based Solutions:</strong> Utilize cloud-based solutions that can dynamically scale resources to meet increased demand during crises.</li>\n<li><strong>Load Balancing and Redundancy:</strong> Implement load balancing and redundancy to distribute traffic evenly and prevent system overloads.</li>\n</ul>\n</li>\n<li>\n<p><strong>Enhance Security Measures:</strong></p>\n<ul>\n<li><strong>Multi-Factor Authentication (MFA):</strong> Enforce <a href=\"https://www.loginradius.com/multi-factor-authentication/\">MFA</a> to add an extra layer of security, making it more difficult for unauthorized users to gain access.</li>\n<li><strong>Advanced Threat Detection:</strong> Deploy advanced threat detection systems that use machine learning and AI to identify and mitigate emerging threats in real time.</li>\n</ul>\n</li>\n<li>\n<p><strong>Optimize User Experience:</strong></p>\n<ul>\n<li><strong>Simplify Authentication:</strong> Streamline authentication processes to provide quick and easy access without compromising security. Consider using <a href=\"https://www.loginradius.com/single-sign-on/\">single sign-on</a> (SSO) solutions to reduce friction.</li>\n<li><strong>Consistent User Interface:</strong> Ensure a consistent and intuitive user interface across all platforms and devices to enhance user satisfaction and engagement.</li>\n</ul>\n</li>\n<li>\n<p><strong>Improve Operational Flexibility:</strong></p>\n<ul>\n<li><strong>Agile Systems:</strong> Develop systems that can quickly adapt to changing business needs and regulatory requirements, allowing for swift responses during crises.</li>\n<li><strong>Seamless Integration:</strong> Ensure solutions integrate seamlessly with other business systems to enable unified data management and operational efficiency.</li>\n</ul>\n</li>\n</ol>\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>In crisis situations, the effectiveness of a company’s Customer Identity and Access Management system can significantly impact its ability to maintain security, operational continuity, and customer trust. </p>\n<p>By understanding the common pitfalls and implementing robust, scalable, and secure CIAM strategies, companies can better prepare for and navigate the challenges posed by emergencies. </p>\n<p>Investing in resilient customer identity solutions is not just about crisis management; it is about building a foundation for long-term success and customer loyalty.</p>\n<p><a href=\"https://www.loginradius.com/contact-us?utm_source=blog&#x26;utm_medium=web&#x26;utm_campaign=ciam-systems-hidden-pitfalls\"><img src=\"/8fce571f703a5970dbb1359a2fe0e51a/book-a-demo-loginradius.webp\" alt=\"book-a-free-demo-loginradius\"></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":{"title":"The Hidden Pitfalls: Why Most CIAM Systems Fail Under Pressure","author":{"id":"Karl Wittig","github":null,"avatar":null},"date":"August 06, 2024","updated_date":null,"tags":["data security","ciam resilience","cx"],"coverImage":{"childImageSharp":{"fluid":{"aspectRatio":1.5037593984962405,"src":"/static/f663fc9fee91636ed4ec7bae868ba8b2/7f8e9/hidden-pitfalls.webp","srcSet":"/static/f663fc9fee91636ed4ec7bae868ba8b2/61e93/hidden-pitfalls.webp 200w,\n/static/f663fc9fee91636ed4ec7bae868ba8b2/1f5c5/hidden-pitfalls.webp 400w,\n/static/f663fc9fee91636ed4ec7bae868ba8b2/7f8e9/hidden-pitfalls.webp 768w","sizes":"(max-width: 768px) 100vw, 768px"}}}},"fields":{"authorId":"Karl Wittig","slug":"/identity/ciam-systems-hidden-pitfalls/"}}},{"node":{"id":"a3e30c9d-5f24-503a-a648-13d71a58a9d3","html":"<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<p>Trade transcends physical boundaries, weaving through the intricate web of the internet in the modern business landscape. As global economies become increasingly interconnected, the significance of cybersecurity in digital trade negotiations cannot be overstated. </p>\n<p>Cybersecurity serves as a protective measure and a potential unifying factor, fostering trust and cooperation among trading nations. </p>\n<p>Identity security is a critical aspect of this cybersecurity landscape, which hinges on robust <a href=\"https://www.loginradius.com/blog/identity/customer-identity-and-access-management/\">Customer Identity Management</a> (CIAM) solutions. Let’s dive into the role of cybersecurity, with a particular focus on identity security, in harmonizing digital trade negotiations.</p>\n<h2 id=\"the-nexus-of-cybersecurity-and-digital-trade\" style=\"position:relative;\"><a href=\"#the-nexus-of-cybersecurity-and-digital-trade\" aria-label=\"the nexus of cybersecurity and digital trade 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 Nexus of Cybersecurity and Digital Trade</h2>\n<p>Digital trade involves the exchange of goods, services, and information through digital means. As businesses and consumers rely heavily on digital platforms, the threat landscape expands, encompassing cyberattacks, data breaches, and identity theft. These threats can undermine the integrity of digital trade, erode trust, and lead to significant economic losses.</p>\n<p>Cybersecurity, therefore, becomes essential in safeguarding digital trade. It ensures that transactions are secure, data is protected, and parties involved in trade can trust the digital environment. </p>\n<p>When countries engage in digital trade negotiations, prioritizing cybersecurity can serve as common ground, as all parties are vested in maintaining the security and integrity of their digital transactions.</p>\n<h2 id=\"cybersecurity-as-a-unifying-factor\" style=\"position:relative;\"><a href=\"#cybersecurity-as-a-unifying-factor\" aria-label=\"cybersecurity as a unifying factor 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>Cybersecurity as a Unifying Factor</h2>\n<p>In the realm of digital trade negotiations, cybersecurity can act as a unifying factor in several ways:</p>\n<ol>\n<li><strong>Shared Interests</strong>: All nations participating in digital trade have a shared interest in ensuring the security of their digital ecosystems. Negotiators can find common ground by prioritizing cybersecurity and working towards mutually beneficial agreements.</li>\n<li><strong>Standardization and Best Practices</strong>: Negotiations can lead to the adoption of standardized cybersecurity practices and frameworks. These standards can help harmonize security measures across borders, making international digital trade more seamless and secure.</li>\n<li><strong>Trust Building</strong>: Robust cybersecurity measures, including <a href=\"https://www.loginradius.com/blog/identity/what-is-identity-security/\">identity security through CIAM</a>, build trust among trading partners. When countries can trust their digital interactions are secure, they are more likely to engage in and expand digital trade.</li>\n<li><strong>Economic Stability</strong>: Secure digital trade contributes to the stability and growth of the global economy. Negotiators can help protect economic interests and foster sustainable development by emphasizing cybersecurity.</li>\n</ol>\n<h2 id=\"identity-security-the-foundation-of-cybersecurity\" style=\"position:relative;\"><a href=\"#identity-security-the-foundation-of-cybersecurity\" aria-label=\"identity security the foundation of cybersecurity 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>Identity Security: The Foundation of Cybersecurity</h2>\n<p>Identity security is a cornerstone of cybersecurity. It involves protecting the identities of individuals and entities engaged in digital interactions. In the context of digital trade, identity security is crucial for verifying the authenticity of parties, preventing fraud, and ensuring compliance with regulatory standards.</p>\n<p>A robust Customer Identity Management (CIAM) solution plays a pivotal role in achieving comprehensive identity security. CIAM systems manage and secure customer identities, providing a <a href=\"https://www.loginradius.com/customer-experience-solutions/\">seamless and secure experience</a> for users while safeguarding their data. Key features of an effective CIAM solution include:</p>\n<ol>\n<li><strong>Authentication and Authorization</strong>: CIAM solutions ensure that users are who they claim to be through multi-factor authentication (MFA) and other verification methods. They also manage user permissions, ensuring only authorized individuals can access sensitive information.</li>\n<li><strong>Data Privacy and Compliance</strong>: CIAM systems help businesses comply with <a href=\"https://www.loginradius.com/data-governance/\">data governance</a> regulations such as GDPR and CCPA. They ensure that customer data is collected, stored, and processed in accordance with legal requirements, thereby fostering trust and reducing the risk of regulatory penalties.</li>\n</ol>\n<p><a href=\"https://www.loginradius.com/resource/ebook/loginradius-gdpr-compliance/\"><img src=\"/9076e6269bcb4a311c82ae0d0cef0b7b/EB-LR-GDPR-Compliance.webp\" alt=\"EB-LR-GDPR-Compliance\"></a></p>\n<ol start=\"3\">\n<li><strong>User Experience</strong>: A robust CIAM solution balances security with user experience. It provides a frictionless login process, personalized experiences, and consistent access across multiple channels, enhancing customer satisfaction and loyalty.</li>\n<li><strong>Fraud Detection and Prevention</strong>: CIAM solutions employ advanced analytics and machine learning to detect and prevent fraudulent activities. By monitoring user behavior and identifying anomalies, they can thwart identity theft and other cyber threats.</li>\n</ol>\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>Cybersecurity, with a strong emphasis on identity security, is paramount in the digital trade landscape. </p>\n<p>A robust Customer Identity Management (CIAM) solution, like LoginRadius,  is critical in ensuring the security and integrity of digital interactions. By prioritizing cybersecurity in digital trade negotiations, nations can find common ground, establish trust, and work towards a more secure and prosperous digital economy. </p>\n<p>As digital trade grows, cybersecurity will undoubtedly play a central role in shaping its future, unifying diverse stakeholders in pursuing a safe and reliable digital world.</p>\n<p><a href=\"https://www.loginradius.com/contact-us?utm_source=blog&#x26;utm_medium=web&#x26;utm_campaign=identity-security-digital-trade\"><img src=\"/8fce571f703a5970dbb1359a2fe0e51a/book-a-demo-loginradius.webp\" alt=\"book-a-demo-loginradius\"></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":{"title":"Can Cybersecurity Be a Unifying Factor in Digital Trade Negotiations?","author":{"id":"Karl Wittig","github":null,"avatar":null},"date":"June 05, 2024","updated_date":null,"tags":["cybersecurity","data security","ciam solutions"],"coverImage":{"childImageSharp":{"fluid":{"aspectRatio":1.3245033112582782,"src":"/static/a85dc459bb7b094521a731096a6382e2/7f8e9/identity-security.webp","srcSet":"/static/a85dc459bb7b094521a731096a6382e2/61e93/identity-security.webp 200w,\n/static/a85dc459bb7b094521a731096a6382e2/1f5c5/identity-security.webp 400w,\n/static/a85dc459bb7b094521a731096a6382e2/7f8e9/identity-security.webp 768w","sizes":"(max-width: 768px) 100vw, 768px"}}}},"fields":{"authorId":"Karl Wittig","slug":"/growth/identity-security-digital-trade/"}}},{"node":{"id":"c0072b3b-205a-5159-8ff0-fb6bf08dac42","html":"<p>Customers form a vital component of a business. When they say <em>keeping the business alive</em>, they refer to the sale of products and services. </p>\n<p>Sales that take place or the user base that grows can be distinguished into two separate groups: the first time and short term customers and the long term customer base. </p>\n<p>The first time customers will be contributors to the initial revenue that one receives but will soon lose interest in the product or service. </p>\n<p>The latter group of customers will see a long term benefit in the product or service and will therefore stick around. </p>\n<p>This is the basis of customer onboarding. </p>\n<h2 id=\"when-does-onboarding-begin-for-customers\" style=\"position:relative;\"><a href=\"#when-does-onboarding-begin-for-customers\" aria-label=\"when does onboarding begin for customers 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>When Does Onboarding Begin for Customers</h2>\n<p>Onboarding is the process that begins when the customer decides to pay for a service or product. Although this is where the customer undergoes the initial stages of onboarding, it is not the end of the process. This process ends with an individual becoming a regular patron of a business. </p>\n<p>In addition to making that first sale, a customer is only said to be on board when they repeat their purchases. This is how a typical customer journey goes.</p>\n<p>Let us take an example of the sales that take place on a clothing ecommerce website to understand a successful customer onboarding process.</p>\n<p>New customers may be pouring into an ecommerce site. But having an immense amount of traction in the first week may not be considered a successful onboarding, as a steep incline in sales is not a metric to factor in. </p>\n<p>This is because the first time users can fall in either of the two categories mentioned above. </p>\n<p>In fact, the customer retention curve can have its ups and downs figuratively as well as literally. The measure of successful onboarding is repeat sales from a new customer over a period. </p>\n<p>If statistics are to be believed, around <a href=\"https://www.wyzowl.com/customer-onboarding-statistics/\">55% of the masses claim</a> to have returned products because they were unable to understand the exact procedure of use. </p>\n<h2 id=\"why-is-customer-onboarding-so-important\" style=\"position:relative;\"><a href=\"#why-is-customer-onboarding-so-important\" aria-label=\"why is customer onboarding so important 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 Customer Onboarding So Important</h2>\n<p>A company needs to generate a standard amount of revenue each month if not more, which is what customers churn with their purchases. This may be easier in the earlier months where the novelty of owning that product or obtaining this service is still very much present. </p>\n<p>However, as the months roll by, it can be difficult to maintain the same sales or perception of one’s products and services. The novelty attached to one’s business, in the beginning, wears off over time. The process of customer onboarding prevents this drastic churn rate. </p>\n<h2 id=\"establish-a-plan-for-customer-onboarding\" style=\"position:relative;\"><a href=\"#establish-a-plan-for-customer-onboarding\" aria-label=\"establish a plan for customer onboarding 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>Establish a Plan for Customer Onboarding</h2>\n<p>The plan to carry out a <a href=\"https://www.loginradius.com/blog/fuel/2021/01/user-onboarding-tools/\">successful customer onboarding process</a> is simple when we think about the objective. </p>\n<p>The only objective is the retention of customers or decreasing the churn rate. Therefore, one’s efforts should be directed towards that. </p>\n<p>Businesses can achieve this by breaking down the process into small parts, as given below: </p>\n<ul>\n<li><strong>Set a demographic</strong> </li>\n</ul>\n<p>As is the case with many businesses, choosing the right demographic is crucial; this is how a business achieves success. The harsh truth is, it is difficult to advertise the same commodity to all age groups. This is because as we age, our wants and needs change too. Therefore, one must have the essential knowledge of one’s target demographic.  </p>\n<ul>\n<li><strong>Understand the market</strong> </li>\n</ul>\n<p>Nothing is more damaging to a customer base other than bad market conditions. There could be many reasons for this; from saturation to calamities. Therefore, one has to analyse the market beforehand to achieve success with your product. </p>\n<ul>\n<li><strong>A reminder of the value</strong> </li>\n</ul>\n<p>Once the product has seen its release, a business will work towards outlining the various benefits that a customer achieves with its services or products. This is a crucial component of the marketing strategy. </p>\n<ul>\n<li><strong>Communication is key</strong> </li>\n</ul>\n<p>After attaining a sale, it would be advisable for the business to keep in touch with the customer. This contact must be maintained for two reasons. The first being feedback regarding the product, and the other being customer service. </p>\n<ul>\n<li><strong>Alter but don’t change</strong></li>\n</ul>\n<p>Smartphones undergo alterations, both big and small after very short intervals. So do many other commodities and even services from say, a SaaS company. One must always enhance their product to stay relevant. These alterations can be small or big but remember to highlight the new changes always. </p>\n<p>Your business will benefit greatly by following the template given below for marketing a product or services online. </p>\n<ul>\n<li><strong>Welcome:</strong> This step can be carried out through an introductory pop up on the screen or through an email. At present, a welcome email is a popular option among websites at the moment. </li>\n<li><strong>Setting up:</strong> The process of setting up can be overwhelming, especially for an older demographic. It would be advisable to create a guided message outlining all the steps that one should follow. </li>\n<li><strong>Filling in empty spaces:</strong> The empty webpages are the first thing a new user will see. However, it doesn’t need to be so deserted and lonely, as most websites use this space to showcase certain features or highlight tips. </li>\n<li><strong>Essential features:</strong> A website has several components like a header, slider, footer etc. Therefore, these components find use in showcasing special features. </li>\n<li><strong>FAQ’s</strong>: This section is also known as a knowledge base and will be the most useful to confused clients. </li>\n<li><strong>Checking in</strong>: This applies to the websites that cater to progress-based** **services and products. For example, exercise and diet websites. </li>\n<li><strong>Celebrating:</strong> This aspect of the website is important in building that personal relationship with a customer. </li>\n</ul>\n<h2 id=\"the-method-of-customer-onboarding\" style=\"position:relative;\"><a href=\"#the-method-of-customer-onboarding\" aria-label=\"the method of customer onboarding 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 Method of Customer Onboarding</h2>\n<p>Customer Onboarding is an intensive process spanning approximately 10 weeks. An individual will be invested in the products and services of a business for ten weeks. However, it is possible to prevent this drop in interest with a few steps and tons of marketing and <a href=\"https://www.loginradius.com/blog/fuel/2021/02/saas-consumer-support/\">customer success teams</a>. </p>\n<ul>\n<li><strong>Promotion</strong> </li>\n</ul>\n<p>In the first few weeks since the release of the product, the company’s main focus is to promote to as many people as humanly or digitally possible. This promotion lays the foundation of customer onboarding. Depending on the marketing strategy and functionality of the product, a customer will aim to use it shortly. </p>\n<ul>\n<li><strong>Habituation</strong></li>\n</ul>\n<p>This is the second phase in the customer onboarding experience. A customer will have to become habituated to the product and/or service. This habituation will create a predictable pattern of usage. </p>\n<ul>\n<li><strong>Requirement</strong> </li>\n</ul>\n<p>The last and final phase is making the customer believe that they cannot live without the product or service. A customer will only become a long term patron if they see one of two things: if the product becomes a want or a need, a solution to their pain point. In the end, both scenarios will end with the customer viewing the product as a requirement. </p>\n<h2 id=\"onboarding-customers-makes-you-grow-faster\" style=\"position:relative;\"><a href=\"#onboarding-customers-makes-you-grow-faster\" aria-label=\"onboarding customers makes you grow faster 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>Onboarding Customers Makes You Grow Faster</h2>\n<p>In order to understand this, one can turn to the success of Multi-Level Marketing companies and their team members. The basic working principle of an MLM is word of mouth. The products or services of the company are marketed by the very customers or former customers of the company. In a sense, customer onboarding is the same. It is common knowledge that the best form of marketing is word of mouth. </p>\n<p>In addition to receiving free marketing, one will also understand their customers better. The reason for this is that the sales team will be in contact with individual customers. This allows them to get to know them better. Thus, it is easier to understand the likes and dislikes of their customers. In addition to this, the pain points of the customer regarding the website or its services will also come to light during an onboarding phone call. </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>Customer onboarding is one of the more delicate components of marketing. This process can make or break a business. In addition to increasing the revenue, it also allows businesses to create relationships with their customers through surveys or even phone calls. The most significant benefits of customer onboarding are that an individual can have an unprecedented amount of faith in the company and product.</p>\n<p><a href=\"https://www.loginradius.com/contact-us?utm_source=blog&#x26;utm_medium=web&#x26;utm_campaign=importance-customer-onboarding\"><img src=\"/8fce571f703a5970dbb1359a2fe0e51a/book-a-demo-loginradius.webp\" alt=\"book-a-demo-loginradius\"></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":{"title":"Customer Success: The Importance of Customer Onboarding","author":{"id":"Karl Wittig","github":null,"avatar":null},"date":"February 26, 2021","updated_date":null,"tags":["customer onboarding","authentication","cx"],"coverImage":{"childImageSharp":{"fluid":{"aspectRatio":1.5037593984962405,"src":"/static/894e07d7ee34c1440609f49e2330888c/58556/customer-onboarding-importance.webp","srcSet":"/static/894e07d7ee34c1440609f49e2330888c/61e93/customer-onboarding-importance.webp 200w,\n/static/894e07d7ee34c1440609f49e2330888c/1f5c5/customer-onboarding-importance.webp 400w,\n/static/894e07d7ee34c1440609f49e2330888c/58556/customer-onboarding-importance.webp 800w,\n/static/894e07d7ee34c1440609f49e2330888c/99238/customer-onboarding-importance.webp 1200w,\n/static/894e07d7ee34c1440609f49e2330888c/135cd/customer-onboarding-importance.webp 1280w","sizes":"(max-width: 800px) 100vw, 800px"}}}},"fields":{"authorId":"Karl Wittig","slug":"/growth/importance-customer-onboarding/"}}},{"node":{"id":"4b9d9702-f708-54e6-8636-e85cd42fac2e","html":"<p>E-commerce security is a set of protocols that ensures safe transactions through the internet. In digital security, significant data breaches have profoundly undermined trust. Consumers are comfortable making purchases through common networks. However, they require a little more convincing when it comes to sharing their credit card data with unfamiliar companies.</p>\n<p>By 2021, <a href=\"https://www.statista.com/statistics/251666/number-of-digital-buyers-worldwide/\">over 2.14 billion people worldwide</a> are expected to buy goods and services online. Increased online buying means retail data breaches will also be on the rise as point-of-sale (POS) systems, e-commerce sites and other store servers are major targets for hackers.</p>\n<p>The biggest long-term consequence of a data breach is the loss of consumer trust which will have a direct effect on sales and destroy the retailers’ credibility.</p>\n<h2 id=\"current-statistics-on-data-breach\" style=\"position:relative;\"><a href=\"#current-statistics-on-data-breach\" aria-label=\"current statistics on 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>Current Statistics On Data breach </h2>\n<p>Data breach refers to a security incident in which personal information is publicly exposed or accessed without authorization. </p>\n<p>Cybercrime Magazine predicts that retail will be one of <a href=\"https://cybersecurityventures.com/cybersecurity-almanac-2019/\">the top 10 most attacked industries</a> for 2019–2022. </p>\n<p>A few recent data breaches include:</p>\n<ul>\n<li>In March 2020, Marriott announced that <a href=\"https://news.marriott.com/news/2020/03/31/marriott-international-notifies-guests-of-property-system-incident\">data of 5.2 million guests</a> have been accessed using the login credentials of two employees at a franchise property.</li>\n<li>In May 2020, low-cost airline EasyJet revealed that a \"highly-sophisticated attacker\" <a href=\"https://www.bbc.com/news/technology-52722626#:~:text=EasyJet\">stole nine million consumers' personal data</a>.</li>\n<li>A single ransomware attack at Blackbaud exposed information from at least 247 organizations that have issued their own breach notices as of September, 2020. Of the 247 organizations to issue breach notices to their consumers, only 58 have disclosed the number of individuals impacted by the breach – 6,981,091. </li>\n<li>A <a href=\"https://www.retaildive.com/news/survey-19-of-consumers-would-avoid-a-retailer-after-security-breach/425006/\">study by KPMG</a> states that 19% of consumers would completely stop shopping at a retailer after a breach and 33% would take a break from shopping there for an extended period.</li>\n</ul>\n<p>The above statistics have serious implications for online retailers, mainly when trust and consumer confidence in your brand is the only way to ensure success. </p>\n<h2 id=\"top-5-e-commerce-platforms-for-online-businesses\" style=\"position:relative;\"><a href=\"#top-5-e-commerce-platforms-for-online-businesses\" aria-label=\"top 5 e commerce platforms for online businesses 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>Top 5 E-commerce Platforms for Online Businesses</h2>\n<p>It is very difficult to find the right ecommerce platforms for online business. Factors like popularity, overall ranking, features, consumer service, pricing, and ease of use play an important role in selecting the best e-commerce platforms. </p>\n<p>Based on these factors a few e-commerce platforms are mentioned below:</p>\n<h3 id=\"shopify\" style=\"position:relative;\"><a href=\"#shopify\" aria-label=\"shopify 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>Shopify </h3>\n<p>Shopify is one of the best e-commerce sites and caters to businesses of all sizes. One of the most crucial reasons for their success is its flexibility. There are more than 2,400 apps in the Shopify App Store. It includes a built-in CMS, multiple themes for your site, a third-party marketplace and capability for a blog for your online store. Apart from the standard Shopify, Shopify Lite is for those with an existing website that needs a platform to take payments. </p>\n<h3 id=\"bigcommerce\" style=\"position:relative;\"><a href=\"#bigcommerce\" aria-label=\"bigcommerce 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>Bigcommerce</h3>\n<p>BigCommerce, as a leading open SaaS solution provides merchants sophisticated enterprise-grade functionality, customization, and performance with simplicity and ease-of-use. It has two offerings: BigCommerce Essentials (a DIY SaaS platform) and BigCommerce Enterprise (a customized experience for larger consumers). More than 800 apps in the BigCommerce app store allow you to add numerous additional capabilities to your store. Its multi-currency features allow merchants to set prices in multiple currencies and also settle in more than one currency.</p>\n<h3 id=\"magento\" style=\"position:relative;\"><a href=\"#magento\" aria-label=\"magento 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>Magento</h3>\n<p>Magento is best for small-to-medium businesses that have already established demand, as well as the time, manpower and skill to build their own site. The platform is very powerful and has a library of over 5,000 extensions. Being open source, it targets people with professional web development experience. Magneto exists in two versions: Magento Open Source and Magento Commerce.</p>\n<h3 id=\"wix\" style=\"position:relative;\"><a href=\"#wix\" aria-label=\"wix 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>Wix</h3>\n<p>Wix.com is a cloud-based website builder that allows users to create online stores through drag-and-drop tools. It has an extensive range of templates and designs that make it easy to build a compelling and functional website. Its website builder and ecommerce component is very user-friendly. It also provides a large selection of templates to fit various business needs. Wix.com’s ecommerce functionality has most of what a business would need, but doesn’t scale as well as dedicated platforms like Shopify or Magento.</p>\n<h3 id=\"woocommerce\" style=\"position:relative;\"><a href=\"#woocommerce\" aria-label=\"woocommerce 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>WooCommerce</h3>\n<p>WooCommerce is a free, open-source WordPress shopping cart plugin owned and developed by WordPress. It is suitable for small businesses that operate on a tight budget but still want a robust online store. However, you will have to separately purchase hosting, a domain name, and an SSL certificate, all of which are catered for by many of the stand-alone e-commerce platforms. WooCommerce allows unlimited products and product variants, including digital products.</p>\n<h3 id=\"appy-pies-website-builder\" style=\"position:relative;\"><a href=\"#appy-pies-website-builder\" aria-label=\"appy pies website builder 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>Appy Pie's website builder</h3>\n<p><a href=\"https://www.appypie.com/website-builder\">Appy Pie's website builder</a> tool is a versatile platform for creating websites and mobile apps without any coding skills. It offers a user-friendly interface with drag-and-drop functionality, making it easy for beginners to design professional-looking websites. The tool provides a wide range of customizable templates catering to different industries and purposes, from business websites to portfolios and online stores.</p>\n<h2 id=\"security-threats-that-e-commerce-stores-face\" style=\"position:relative;\"><a href=\"#security-threats-that-e-commerce-stores-face\" aria-label=\"security threats that e commerce stores face 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>Security Threats That E-Commerce Stores Face</h2>\n<p><img src=\"/bedb8378ad0bf6203fb7ec3abbee5ed0/Ecommerce-security-1.webp\"></p>\n<p>Ecommerce security for e-commerce is a must-have and consumers need to be constantly reassured about the safety measures that have been taken to mitigate a security threat. Features which an e-commerce security needs to adapt are:</p>\n<ol>\n<li><strong>Invisible security</strong> – The website works fast and returns minimal errors. The e-commerce site should implement website speed optimization, use a faster DNS provider and reduce image sizes. </li>\n<li><strong>Visible security</strong> – Trust signals are visuals and graphics that make the consumers feel safe when they shop from an online e-commerce site. Few trust signals like About us page, branding, consumer testimonials, secure payment gateways and guarantees would help.</li>\n</ol>\n<p>Both invisible and visible security help build trusting consumer relationships. </p>\n<p>Cybersecurity is a crucial feature which needs to be implemented by the e-commerce industry.  Without proper <a href=\"https://www.loginradius.com/blog/2019/10/cybersecurity-best-practices-for-enterprises/\">security practices</a> put into practice online retailers will put themselves and their consumers at high risk for data breach.  </p>\n<p>Some of the types of threats faced by e-commerce are mentioned below:</p>\n<ol>\n<li><strong>Denial of Service or Distributed Denial of Service attacks</strong></li>\n</ol>\n<p>A distributed denial-of-service (DDoS) attack occurs when multiple machines are operating together to attack the e-commerce site and server. They are flooded with malicious queries that stop the site from working properly making the website inoperable. These attacks are disruptive, costly and affect overall sales.</p>\n<ol start=\"2\">\n<li><strong>SQL injections</strong></li>\n</ol>\n<p>SQL injections are cyber-attacks used to manipulate backend databases and access information that was not intended to be displayed. They can inject rogue code into the database to data as well as delete it. </p>\n<ol start=\"3\">\n<li><strong>XSS attacks</strong></li>\n</ol>\n<p>Cross site scripting (XSS) is a type of attack in which malicious scripts are injected into the websites and web applications for the purpose of running on the end user's device. </p>\n<ol start=\"4\">\n<li><strong>Customer journey hijacking</strong></li>\n</ol>\n<p>Customer journey hijacking (CJH) is a customer-side phenomenon whereby unauthorized advertisements are injected into consumers’ browsers. The injected advertisements can include product ads, pop-ups, banners and in-text redirects. </p>\n<ol start=\"5\">\n<li><strong>Credit card frauds</strong></li>\n</ol>\n<p>Credit card fraud is the unauthorized use of a credit or debit card to make a purchase. The card numbers can be stolen from unsecured websites or can be obtained in an identity theft scheme.</p>\n<ol start=\"6\">\n<li><strong>Bad bots</strong></li>\n</ol>\n<p>Bad bots are designed to perform a variety of malicious jobs. They are capable of stealing content from the website, such as product reviews, product pricing, catalogs and so on which they publish on some other site. This affects the search engine ranking of the retailers' website. Bad bots are able to make multiple page visits within a very short span of time thus straining Web servers, which makes the site slow for genuine users.</p>\n<p><a href=\"https://www.loginradius.com/resource/how-retail-and-consumer-goods-companies-use-loginradius-identity-solution/\"><img src=\"/c95f0155d52f8dea65efe90f3ec7c41a/DS-How-Retail-Consumer-Goods-Companies.webp\" alt=\"Datasheet-How-Retail-Consumer-Goods-Companies-Use-the-LoginRadius\"></a></p>\n<h2 id=\"5-ways-e-commerce-can-keep-their-online-stores-safe-using-identity-management\" style=\"position:relative;\"><a href=\"#5-ways-e-commerce-can-keep-their-online-stores-safe-using-identity-management\" aria-label=\"5 ways e commerce can keep their online stores safe using identity 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>5 Ways E-Commerce Can Keep Their Online Stores Safe Using Identity Management</h2>\n<ol>\n<li><strong>Renew SSL certificates and ensure total PCI compliance.</strong></li>\n</ol>\n<p>SSL is the de facto standard for securing online transactions and essential to establish secure connectivity between the end-user systems and your e-commerce website. With SSL certifications in place, one can move from HTTP to HTTPS, which serves as a trust signal and prerequisite for consumers to provide their personal details and credit card information. </p>\n<p>Payment Card Industry Data Security Standard (PCI DSS or PCI) is an industry standard that ensures credit card information collected online is being transmitted and stored in a secure manner. E-commerce websites need to maintain PCI compliance. </p>\n<ol start=\"2\">\n<li><strong>Encourage your consumers to go passwordless while accessing their accounts</strong></li>\n</ol>\n<p>In the retail industry, registering or logging in without a password calls for consumer retention and loyalty. By enabling the one-touch login feature, consumers can log in with a <a href=\"https://www.loginradius.com/blog/2020/10/loginradius-launches-passwordless-login-with-magic-link-or-otp/\">magic link or OTP</a> sent to their mobile number or email id.</p>\n<ol start=\"3\">\n<li><strong>Prominently display payment trust signals and logos on your payment pages.</strong></li>\n</ol>\n<p>Prominently displaying payment trust signals and logos on payment pages shows the consumer the security measures taken by the e-commerce website. Consumer privacy is critical in e-commerce. E-commerce sites should only collect data that is useful for the purposes of fulfilling the transaction. </p>\n<ol start=\"4\">\n<li><strong>Verify card and address details to reduce the risk of fraudulent transactions</strong></li>\n</ol>\n<p>In order to risk fraudulent transactions, e-commerce websites need to verify card and address details of consumers. Usage of unique tracking numbers for every transaction helps to combat chargeback fraud. Geo-targeting can also help eliminate fraudulent transactions. </p>\n<ol start=\"5\">\n<li><strong>A secure login form to prevent credential attacks</strong></li>\n</ol>\n<p>By implementing <a href=\"https://www.loginradius.com/blog/2019/06/what-is-multi-factor-authentication/\">multi-factor authentication (MFA)</a>, retailers would be able to ensure that digital consumers can be authenticated. This method requires the consumer to provide two or more verification factors to gain access to the online account. </p>\n<h2 id=\"how-loginradius-enhances-e-commerce-security-with-its-advance-ciam-solution\" style=\"position:relative;\"><a href=\"#how-loginradius-enhances-e-commerce-security-with-its-advance-ciam-solution\" aria-label=\"how loginradius enhances e commerce security with its advance ciam solution permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>How LoginRadius Enhances E-Commerce Security With Its Advance CIAM Solution </h2>\n<p><img src=\"/5573ae87df2ff632af6406f4db2f4166/Ecommerce-security-2.webp\"></p>\n<p>LoginRadius is a customer identity and access management tool that offers a seamless and secure way to access customer information – in your case, shoppers’ data. </p>\n<p>The <a href=\"https://www.loginradius.com/industry-retail-and-ecommerce/\">LoginRadius identity solution</a> provides a centralized, available, and secure identification and management of customers’ data to retailers. </p>\n<p>A few of LoginRadius solutions are mentioned below:</p>\n<ul>\n<li>Real-time ability for visitors to self-register for services</li>\n<li>Login and authenticate</li>\n<li>Enjoy a single-source view</li>\n</ul>\n<p>With LoginRadius, you can get 360-degree customer profiling, with 100% customer consent, across all touch points. This allows you to personalize marketing and loyalty programs that engage your audience. </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>Consumers want to shop with <a href=\"https://www.loginradius.com/blog/identity/loginradius-ciam-retail-ecommerce-business/\">e-commerce retailers</a> whom they can trust. When they enter their personal information, like credit card numbers or other banking details, they expect it to be well protected. By implementing proper e-commerce security safeguards, you can protect your business and consumers from online threats. </p>\n<p><a href=\"https://www.loginradius.com/contact-us?utm_source=blog&#x26;utm_medium=web&#x26;utm_campaign=ecommerce-security\"><img src=\"/8fce571f703a5970dbb1359a2fe0e51a/book-a-demo-loginradius.webp\"></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":{"title":"E-commerce Security: 5 Ways to Enhance Data Protection During the Shopping Season","author":{"id":"Karl Wittig","github":null,"avatar":null},"date":"November 06, 2020","updated_date":null,"tags":["ecommerce security","data security","cx"],"coverImage":{"childImageSharp":{"fluid":{"aspectRatio":1.3986013986013985,"src":"/static/55e22a56a55fa650f913014c544f8b18/176df/ecommerce-security.webp","srcSet":"/static/55e22a56a55fa650f913014c544f8b18/61e93/ecommerce-security.webp 200w,\n/static/55e22a56a55fa650f913014c544f8b18/1f5c5/ecommerce-security.webp 400w,\n/static/55e22a56a55fa650f913014c544f8b18/176df/ecommerce-security.webp 767w","sizes":"(max-width: 767px) 100vw, 767px"}}}},"fields":{"authorId":"Karl Wittig","slug":"/identity/ecommerce-security/"}}},{"node":{"id":"36eb43bb-f847-58de-b4fd-b07899dbe5a7","html":"<p>The problem with passwords is that they can be guessed, hacked, or coerced out of consumers through social engineering or phishing attacks. So, why not eliminate the main source of insecurity by going passwordless?  </p>\n<p>The recently launched Passwordless Login with Magic Link or OTP feature by LoginRadius gets authentication right by hitting all the right chords—streaming consumer experience, enhancing account security, and improving adaptive security (to name a few).</p>\n<h2 id=\"intent-behind-the-launch\" style=\"position:relative;\"><a href=\"#intent-behind-the-launch\" aria-label=\"intent behind the launch permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Intent Behind the Launch</h2>\n<p>Passwordless Login with Magic Link or OTP reduces friction during the registration and login processes. Once the customer enters the Email Address or Phone Number, they receive a magic link via email or OTP on the phone number. As the consumer clicks the magic link or enters the OTP, LoginRadius creates an account (provided it doesn’t already exist), and the consumer automatically logs into the account.</p>\n<p><a href=\"https://www.loginradius.com/resource/passwordless-login-magic-link-otp-datasheet\"><img src=\"/1527ae4a5044476718c84a56d7a8d0ae/DS-Passwordless-Login-with-Magic-Link-or-OTP-1.webp\" alt=\"Passwordless Login with OTP\"></a></p>\n<p><a href=\"https://www.loginradius.com/passwordless-login/\">Passwordless Login</a> with Magic Link or OTP is designed by LoginRadius to help your business in the following ways: </p>\n<ul>\n<li><strong>Streamlined consumer experience</strong>: One-step registration and login reduce friction for consumers. Furthermore, consumers do not need to create or remember passwords to access their accounts.</li>\n<li><strong>Consumer familiarity</strong>: This method of authentication is quickly catching up among consumers as one of the most preferred trends. Since it is already popular, you need not worry about educating your consumers about it.</li>\n<li><strong>Enhanced account security</strong>: Since a magic link or OTP is dynamically generated and sent over to the recipient on request, it eliminates the risk associated with password attacks and offers better account security.</li>\n<li><strong>Improved adaptive security</strong>: You can pre-define the Magic Link or OTP expiry time as an adaptive security measure for your consumers. Additionally, you can also be disabling access to accounts for a limited time due to multiple, pre-defined failed login attempts.</li>\n</ul>\n<h2 id=\"key-capabilities-of-passwordless-login-with-magic-link-or-otp\" style=\"position:relative;\"><a href=\"#key-capabilities-of-passwordless-login-with-magic-link-or-otp\" aria-label=\"key capabilities of passwordless login with magic link or otp 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 Capabilities of Passwordless Login with Magic Link or OTP</h2>\n<ul>\n<li><strong>Log in with Magic Link</strong>: The consumer can log in directly by clicking the link received in the email without the need to pre-register their email on your application.</li>\n<li><strong>Login with OTP</strong>: The consumer can log into the application directly by entering the OTP received on their phone number without the need to pre-register their phone number on your application.</li>\n<li><strong>Magic Link and OTP Settings</strong>: You can configure email or SMS settings from the LoginRadius Admin Console. You can set the request limit for the maximum number of times a consumer can request the magic link or OTP within a limited time. You can also set the disable duration for which the magic link or OTP request remains disable if the consumer exceeded the defined request limit. Additionally, you can set the token expiry duration for which the magic link or OTP will remain active.</li>\n<li><strong>Email and SMS Templates</strong>: You can configure and personalize the content of email and SMS templates that your consumer will receive during the login. You can add, edit, delete, or send text email or SMS to verify your configuration. </li>\n</ul>\n<p>LoginRadius also supports various <strong>implementation and deployment methods</strong> that you can choose depending on your business needs.</p>\n<ul>\n<li><strong>Identity Experience Framework (IDX):</strong> You can directly use the pre-designed Passwordless Login with Magic Link or OTP page with the <a href=\"https://www.loginradius.com/resource/loginradius-identity-experience-framework-datasheet\">Identity Experience Framework</a> of LoginRadius, after completing all configurations.</li>\n<li><strong>JavaScript</strong>: You can generate embedded Passwordless Login with Magic Link or OTP page using the LoginRadius JavaScript Libraries. </li>\n<li><strong>SDK and APIs</strong>: You can use the entire open-source web and mobile SDKs to build off and modify the code to serve your unique requirements. Similarly, various APIs support the desired extensive flow of features and custom use cases for your business.</li>\n</ul>\n<h2 id=\"a-final-word\" style=\"position:relative;\"><a href=\"#a-final-word\" aria-label=\"a final word permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>A Final Word</h2>\n<p>Times are changing. The majority of consumers do not look forward to creating and entering passwords anymore. Passwordless Login with Magic Link or OTP by LoginRadius is the one-click solution for consumers’ fast-paced authentication needs. It helps businesses improve their security posture while providing a better consumer experience. </p>\n<p><a href=\"https://www.loginradius.com/contact-us?utm_source=blog&#x26;utm_medium=web&#x26;utm_campaign=loginradius-launches-passwordless-login-with-magic-link-or-otp\"><img src=\"/1bebf239d110701b9b534d7eb481a5ac/Book-a-demo-1024x310-1-1.webp\" alt=\"LoginRadius Book Free Demo\"></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":{"title":"Announcement - LoginRadius Launches Passwordless Login with Magic Link or OTP, Keeps Barriers Low During Registration and Login","author":{"id":"Karl Wittig","github":null,"avatar":null},"date":"October 29, 2020","updated_date":null,"tags":["passwordless login","data security","cx"],"coverImage":{"childImageSharp":{"fluid":{"aspectRatio":1.408450704225352,"src":"/static/f9626b12256083c953eaa239cdc22f83/c0524/DS-Login-with-Magic-Link-or-OTP.webp","srcSet":"/static/f9626b12256083c953eaa239cdc22f83/61e93/DS-Login-with-Magic-Link-or-OTP.webp 200w,\n/static/f9626b12256083c953eaa239cdc22f83/1f5c5/DS-Login-with-Magic-Link-or-OTP.webp 400w,\n/static/f9626b12256083c953eaa239cdc22f83/c0524/DS-Login-with-Magic-Link-or-OTP.webp 769w","sizes":"(max-width: 769px) 100vw, 769px"}}}},"fields":{"authorId":"Karl Wittig","slug":"/identity/loginradius-launches-passwordless-login-with-magic-link-or-otp/"}}},{"node":{"id":"11763a4e-f331-59d7-a6a1-3562d78859f0","html":"<p>Businesses need to keep their consumers loyal to their products, services, and the brands, at large—which is why an efficient consumer interface is the need of the hour. It can deliver consumer experiences that are most conducive to the success of any business.</p>\n<p>Our recently launched <a href=\"https://www.loginradius.com/identity-experience-framework/\">Identity Experience Framework</a> is a powerful orchestration feature that can be used to quickly implement any customization required on your identity page. It also meets the critical customization, formatting, design, and authentication demands of all businesses.</p>\n<h2 id=\"intent-behind-the-launch\" style=\"position:relative;\"><a href=\"#intent-behind-the-launch\" aria-label=\"intent behind the launch permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Intent Behind the Launch</h2>\n<p>We wanted businesses to enjoy a hassle-free authentication and customization of identity pages, alongside <a href=\"https://www.loginradius.com/customer-experience-solutions/\">delivering consumer experiences</a> at its best.</p>\n<p>Hence, our LoginRadius Identity Experience Framework  benefits businesses in the following ways: </p>\n<ul>\n<li><strong>Increase consumer interaction</strong>: When implemented correctly, the feature offers a better consumer interface and experience. It also increases consumer satisfaction and interaction coherently. </li>\n<li><strong>Boost reputation and revenues</strong>: It offers collaborated designing and technical skills to deliver exceptional consumer experiences. Consequently, it boosts business reputation and amplifies the scope of revenue. </li>\n<li><strong>Builds trust and loyalty</strong>: By customizing the consumer interface to the business needs and as per consumers' demand, it is more likely to build loyalty and trust for consumers, and attract more traffic.</li>\n<li><strong>Centralized implementation</strong>: In the case of multiple applications, the Identity Experience Framework facilitates centralized <a href=\"https://www.loginradius.com/authentication/\">authentication too</a>. </li>\n</ul>\n<h2 id=\"key-capabilities-of-loginradius-identity-experience-framework\" style=\"position:relative;\"><a href=\"#key-capabilities-of-loginradius-identity-experience-framework\" aria-label=\"key capabilities of loginradius identity experience framework 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 Capabilities of LoginRadius Identity Experience Framework</h2>\n<p><a href=\"https://www.loginradius.com/resource/loginradius-identity-experience-framework-datasheet\"><img src=\"/0eed22bce7145afabda1464bcdb1672c/IDX-Product.webp\"></a></p>\n<p><strong>Predefined themes</strong>: It offers predefined themes designed to fit all business requirements as per industry standards. </p>\n<p><strong>Ready-to-use scripts</strong>: It offers complete customization, formatting, design for all authentication-related pages, along with quick replaceable scripts for pages like login, registration, forgot password, etc.</p>\n<p><strong>Customizable solution</strong>: While the Basic Editor allows the customization of the background image, logo color, content customization for sign up page, etc., Advanced Editor allows prompt changes via \"Replace\" options like complete customization, design via HTML, CSS, Javascript for login, registration pages, etc. </p>\n<p><strong>Branding preview</strong>: It offers real-time preview for the customization made to logos, images, etc. to visualize the change before implementing it.</p>\n<p><strong>Quick implementation</strong>: It handles and manages implementation in a very efficient and smooth manner.</p>\n<h2 id=\"a-final-word\" style=\"position:relative;\"><a href=\"#a-final-word\" aria-label=\"a final word permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>A Final Word</h2>\n<p>With the LoginRadius Identity Experience Framework, businesses can enjoy a complete set of customizable solutions and provide consumers with seamless experiences. Be it, tweaking the authentication flow or changing the interface designs—this feature can do them all. </p>\n<p><a href=\"https://www.loginradius.com/contact-us?utm_source=blog&#x26;utm_medium=web&#x26;utm_campaign=loginradius-identity-experience-framework\"><img src=\"/788a6a84e389edac18728007099fdc1d/Book-a-free-demo-request.webp\" alt=\"book-a-free-demo-loginradius\"></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":{"title":"Announcement - LoginRadius Delivers Exceptional Authentication With The Launch Of Identity Experience Framework","author":{"id":"Karl Wittig","github":null,"avatar":null},"date":"September 18, 2020","updated_date":null,"tags":["authentication","identity management","cx"],"coverImage":{"childImageSharp":{"fluid":{"aspectRatio":1.408450704225352,"src":"/static/93283d4127ab6cd9e3f3d5c33cd47707/c0524/IDx.webp","srcSet":"/static/93283d4127ab6cd9e3f3d5c33cd47707/61e93/IDx.webp 200w,\n/static/93283d4127ab6cd9e3f3d5c33cd47707/1f5c5/IDx.webp 400w,\n/static/93283d4127ab6cd9e3f3d5c33cd47707/c0524/IDx.webp 769w","sizes":"(max-width: 769px) 100vw, 769px"}}}},"fields":{"authorId":"Karl Wittig","slug":"/identity/loginradius-identity-experience-framework/"}}},{"node":{"id":"5d95a552-20c5-548d-a623-d0b719a355d6","html":"<p>Last week, we had a great time participating in Vancouver Startup Week's Community Crawl. </p>\n<p><img src=\"/ad398328e6f05daa397b204ed6ac0089/VWS-V01.03_LinkedIn-1-1200x627-1-1024x536.webp\"></p>\n<p>The Community Crawl is like a pub crawl except you hop from startup offices to startup offices. It’s an engaging open house event where guests can check out different startups. Over a dozen startups opened their doors, so <strong>thanks to everyone who took the time to check us out!</strong> </p>\n<p>Those who attended immediately noticed our new spacious office space, complete with a custom-made tiki bar! Because, why not, right?</p>\n<p>To celebrate our move and christen our new space and tiki bar, we hosted a tiki party, replete with festive Hawaiian leis and shirts. </p>\n<p><img src=\"/38bd962387da7229ac069b2077ca84ca/IMG_1257a-1-1024x658.webp\"></p>\n<p><em>LoginRadius founder &#x26; CEO, Rakesh Soni, enjoying our new custom-made tiki bar.</em> </p>\n<p>Our “Tiki Tech” party was a great way to bring our team together and mingle with the Vancouver Startup community. Want to know how to throw a tiki party? Here’s an easy guide…</p>\n<h2 id=\"create-a-tiki-tastic-atmosphere\" style=\"position:relative;\"><a href=\"#create-a-tiki-tastic-atmosphere\" aria-label=\"create a tiki tastic atmosphere 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 a tiki-tastic atmosphere</h2>\n<p>What’s a tiki-tastic atmosphere? You’ll know it when it feels like summer at your office despite the Raincouver weather. Here are some fun motifs you can buy for <em>cheap!</em></p>\n<h3 id=\"start-with-fun-decorations\" style=\"position:relative;\"><a href=\"#start-with-fun-decorations\" aria-label=\"start with fun decorations 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>Start with fun decorations</h3>\n<p>Being a startup with a modest budget, we had to be creative with the DIY decor. </p>\n<p>We painted colourful signs on cardboard and made little pineapple lanterns which we strung across the room. Then, to brighten the room, we added flamingo-pink dangling paper tissue balls from the ceiling. Hanging decorations from the ceiling are better than sticking them on walls. It makes a room look full and festive with very little material.</p>\n<p><img src=\"/4f4588ebb9cdc97bf7255caca3d3bd73/IMG_1132a-1024x658.webp\"></p>\n<p><em>We bought yellow lanterns and turned them into pineapples.</em> </p>\n<p><img src=\"/4026e9c920c4de425dacdc92d630da68/IMG_1215a-1-1024x658.webp\"></p>\n<p><em>We placed hand-painted signs, including our drinks menu, all over the room.</em></p>\n<h3 id=\"provide-ambiance-with-music\" style=\"position:relative;\"><a href=\"#provide-ambiance-with-music\" aria-label=\"provide ambiance with music 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>Provide ambiance with music</h3>\n<p>Another easy way to add more tiki into a room is by playing music. We found a pre-made tiki playlist on a streaming app and let it loop throughout the night. There wasn’t any official dancing at our party, but we had lots of people bobbing their heads or tapping their feet to the beat. </p>\n<p><img src=\"/32754e8bb1e5edd4e19beafc3928abd8/IMG_1178a-1024x658.webp\"></p>\n<p><em>Our team members and guests having fun at our tiki tech party.</em> </p>\n<h2 id=\"decorate-your-glorious-tiki-bar\" style=\"position:relative;\"><a href=\"#decorate-your-glorious-tiki-bar\" aria-label=\"decorate your glorious tiki bar 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>Decorate your glorious tiki bar</h2>\n<p>The tiki bar was made by a local carpenter. He came by our office to look at the space where the tiki bar will be housed, take measurements, and listen to vision for this piece of resistance. </p>\n<p>What he built was better than what we expected! The frame is made of durable wood and lined with the bamboo-like exterior. On the inside, we have a fridge for the keg and another fridge for other drinks. On the surface of the bar is the tap for the beer. The front was lined with LED lights that changed colours. Everything is covered by a thatched roof, completing the tiki look. </p>\n<p><img src=\"/099cbebdd61365685c3b669d948e8d0d/IMG_1238-1a-1024x658.webp\"></p>\n<p><em>To the left is Mark from Torlay, our local carpenter, who designed and built our lovely tiki bar!</em></p>\n<h2 id=\"provide-delicious-tropical-cocktails\" style=\"position:relative;\"><a href=\"#provide-delicious-tropical-cocktails\" aria-label=\"provide delicious tropical cocktails 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>Provide delicious tropical cocktails </h2>\n<p>No tiki party is complete without tropical cocktails…especially on a Friday afternoon after a long workweek. Luckily for us, we had an impressive tiki bar where we served endless drinks to our team members and guests. </p>\n<p>So that you’re prepared for guests, it’s wise to plan a drink menu a few days or weeks ahead of time. This gives you time to get cool ingredients or tiki-themed cups, umbrellas—whatever moves you!</p>\n<p>To ensure a fun relaxing night for everyone, we hired a bartender. His lime margaritas were to die for—and the sound of a cocktail in a shaker just adds to the festive vibe.</p>\n<p>The tap beer on the tiki bar was also a celebration on its own. Plus, right before the event, one of our team members whipped up some killer tropical sangria.</p>\n<p><img src=\"/f69d2fe7ff4bdb8eaae79ec8707e40ff/IMG_1149a-1024x658.webp\"></p>\n<p><em>Our bartender, Sam, making amazing tropical drinks for us all night long.</em> </p>\n<p>Whether you do or don’t have a tiki bar, you can create the vibe around your cocktail table. Just use festive decorations or painted signs, plus fun tropical cups. And of course, use some tropical beverage ingredients, if you can! Then lean back and watch your guests get into tiki mood. </p>\n<h2 id=\"lei-on-a-warm-welcome-to-your-guests\" style=\"position:relative;\"><a href=\"#lei-on-a-warm-welcome-to-your-guests\" aria-label=\"lei on a warm welcome to your guests 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>Lei on a warm welcome to your guests</h2>\n<p>The first impression is everything. Each guest who came through our doors received a flower lei over their heads. It’s a great way to create that instant tiki environment. We went a step further and created little tags for each lei with our company logo and a QR code that took them to our <a href=\"https://www.loginradius.com/careers/\">Careers page</a> for those who are interested in joining us for more than just a tiki party. </p>\n<p><img src=\"/ddd44bd77ec702aff50b924c5ecab937/IMG_1244a-1024x658.webp\"></p>\n<p><em>Lovely volunteers from Vancouver Startup Week helped us give leis to our guests.</em> </p>\n<h2 id=\"include-an-engaging-tech-activity\" style=\"position:relative;\"><a href=\"#include-an-engaging-tech-activity\" aria-label=\"include an engaging tech activity 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>Include an engaging tech activity</h2>\n<p>On our TV, we displayed a one-minute online survey that can be taken on mobile phones. Since LoginRadius secures digital identities, we asked our guests to check all the different digital identities they used in the past week. This included emails, online banking, various video games, social media, and more. </p>\n<p><img src=\"/04bf3c2c8728980b314e4d3374017365/IMG_1159a-1024x658.webp\"></p>\n<p><em>Individuals scanned the QR code on our TV to take our one-minute digital identity survey.</em> </p>\n<p>We had close to 90 guests and team member join our party. Based on our study, the most popular digital identity was work and personal emails. Nearly 100% of respondents used these two digital identities in the past week! </p>\n<p>Work and personal emails are closely followed by LinkedIn. Our survey states that 91.3% of respondents used LinkedIn in the past week. This is interesting because according to Hootsuite, Facebook is the most popular social media website. Yet, Facebook/Instagram fell behind LinkedIn at 82.6%. This data may be influenced by Vancouver Startup Week. In preparing for this networking event, individuals might have recently checked and updated their professional profile on LinkedIn. </p>\n<p>On average, respondents used about 13 different digital identities that week. This not only raised awareness for our guests as consumers, but it also encouraged us as an identity management platform to continue creating stronger security and easier login authentication methods that organizations can use for their customers. </p>\n<h2 id=\"be-open-to-a-spontaneous-after-party\" style=\"position:relative;\"><a href=\"#be-open-to-a-spontaneous-after-party\" aria-label=\"be open to a spontaneous after party 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>Be open to a spontaneous after party</h2>\n<p>On a weekend night, what better way to end a party than with an after-party? We had a group of people who were interested in continuing the fun after the predestined party time. This included both the CEO and CTO. Originally, they were going to move locations. However, since our office space was available for further into the night, everyone decided to stay there. Instead, we ordered pizza and took advantage of the overabundant storage of drinks supplied for the original party. </p>\n<p>Planning fun parties can be exhausting. Allowing spontaneous after parties can help you feel free and serve as a reminder that an enjoyable event doesn’t always have to be stringently planned. </p>\n<p><img src=\"/cc58dad758e514f55c332675e7308158/IMG_20190913_200408a-1024x659.webp\"></p>\n<p><em>The after-party selfie—no party is complete without it!</em></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>Sharing our tiki bar with the community led to lots of memorable meetings. Thanks to everyone who enjoyed our tropical drinks, embraced our leis, basked in our tiki atmosphere, and participated in our survey. We loved having the Vancouver Startup Community visit our office and we hope to see you at our future tiki events!</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":{"title":"How To Throw A Tiki Tech Party","author":{"id":"Karl Wittig","github":null,"avatar":null},"date":"September 20, 2019","updated_date":null,"tags":null,"coverImage":{"childImageSharp":{"fluid":{"aspectRatio":1.550387596899225,"src":"/static/d8e58222783279e1030beb7197d352d9/58556/how-to-throw-a-tiki-tech-party.webp","srcSet":"/static/d8e58222783279e1030beb7197d352d9/61e93/how-to-throw-a-tiki-tech-party.webp 200w,\n/static/d8e58222783279e1030beb7197d352d9/1f5c5/how-to-throw-a-tiki-tech-party.webp 400w,\n/static/d8e58222783279e1030beb7197d352d9/58556/how-to-throw-a-tiki-tech-party.webp 800w,\n/static/d8e58222783279e1030beb7197d352d9/99238/how-to-throw-a-tiki-tech-party.webp 1200w,\n/static/d8e58222783279e1030beb7197d352d9/7c22d/how-to-throw-a-tiki-tech-party.webp 1600w","sizes":"(max-width: 800px) 100vw, 800px"}}}},"fields":{"authorId":"Karl Wittig","slug":"/growth/how-to-throw-a-tiki-tech-party/"}}},{"node":{"id":"0ed1c70d-6cba-539b-b69d-987491ee0008","html":"<p>It is hard to write 100% holes-free code, no matter how hard you try. Sometimes it is not even your own fault (language implementation, server setups, etc.) and those factors are likely out of your control. That being said, as developers, we should strive to write our code as safe and secure as possible. Here are my suggestions to keep yourself from being woken up in the middle of the night:</p>\n<p>1. <strong>DO NOT trust any user-input, PERIOD.</strong> Not even if it is yours truly. This is the most common attack vector for your web applications, whether it is just a contact form or an API end-point. For example, if a form is implemented to store data in a database, someone can try brute-forcing with classic SQL-injection techniques. Others can certainly try calling your API and see if there are any spotty error-handling issues. Sanitize all inputs as much as you can, and handle all errors behind the scenes properly and gracefully without exposing the actual details to the public.</p>\n<p>2. <strong>UPDATE, UPGRADE and REPEAT.</strong> Chances are, a lot of your code is dependent on third-party libraries (open or closed source, does not matter). It is your job to make sure you are using the latest version for them all. When hackers find out you are using outdated or vulnerable code, you are done. I have seen this happening way too many times than I can count over the years when websites got hacked and outdated plugins or libraries was the main culprit.</p>\n<p>You might be saying, \"Hey, upgrading that library will break my code!!\". Well, what is your job again? Deal with it.</p>\n<p>3. <strong>Web Application Firewall (WAF)</strong> Consider getting one if your server admin lets you, it can potentially save yourself a lot of embarrassments. Just keep in mind though it should not be your only security strategy, as WAFs will not stop all kinds of attacks. It is still your sole responsibility to write good code and repeat step 1 and 2.</p>\n<p><strong>Happyyyyy coding!</strong></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":{"title":"3 Simple Ways to Secure Your Websites/Applications","author":{"id":"Karl Wittig","github":null,"avatar":null},"date":"June 24, 2019","updated_date":null,"tags":["Engineering"],"coverImage":{"childImageSharp":{"fluid":{"aspectRatio":1.5037593984962405,"src":"/static/5a3022253d6646c0ce3939c478b4481e/ad85c/hacker.webp","srcSet":"/static/5a3022253d6646c0ce3939c478b4481e/61e93/hacker.webp 200w,\n/static/5a3022253d6646c0ce3939c478b4481e/1f5c5/hacker.webp 400w,\n/static/5a3022253d6646c0ce3939c478b4481e/ad85c/hacker.webp 600w","sizes":"(max-width: 600px) 100vw, 600px"}}}},"fields":{"authorId":"Karl Wittig","slug":"/engineering/3-simple-ways-to-secure-your-websites-applications/"}}},{"node":{"id":"3d2d0888-3b8a-5a21-a45f-83a0490b86ba","html":"<p><a href=\"https://hydroottawa.com/\">Hydro Ottawa</a>, the largest local electricity distribution company in eastern Ontario, is also a pioneer in the Canadian utility industry. It is the first utility company in Canada to offer a voice assistant skill through both Amazon Alexa and Google Home. By focusing on their customers’ needs, Hydro Ottawa has fully disrupted the Canadian utility industry for the better.</p>\n<p><img src=\"/2303d39fd49e8f43d49fb434472941c4/HydroOttawa_Logo_RGB-2016-1024x176.webp\"></p>\n<p>We're extremely excited to be able to play a part in this journey with Hydro Ottawa, and we’re thrilled that they were able to leverage the LoginRadius platform and OAuth capabilities to make this happen.</p>\n<h2 id=\"identity-is-key\" style=\"position:relative;\"><a href=\"#identity-is-key\" aria-label=\"identity is key 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>Identity is Key</h2>\n<p><img src=\"/1f91e68a79da144e62b086100643de01/vectorstock_18254714-1024x930.webp\"></p>\n<p>Hydro Ottawa has fully integrated the LoginRadius authentication tools with their internal system and platform. This connection provides a <a href=\"https://www.loginradius.com/standard-login/\">seamless registration and login process</a> for Hydro Ottawa customers. In doing so, Hydro Ottawa has been able to centralize their customer identity data to make sure that all systems are working off of the same data as they grow and expand their services.</p>\n<h2 id=\"disrupting-the-utility-industry\" style=\"position:relative;\"><a href=\"#disrupting-the-utility-industry\" aria-label=\"disrupting the utility industry permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a>Disrupting the Utility Industry</h2>\n<p><img src=\"/5a9e245ab630dd14d25d8cee3e365f49/thomas-kolnowski-723299-unsplash-1024x635.webp\"></p>\n<p>By addressing the need for a unified customer database, Hydro Ottawa is able to leverage their identity architecture and the <a href=\"https://www.loginradius.com/federation/\">OAuth 2.0</a> capabilities from LoginRadius to build something that no other utility company and very few corporate companies have been able to accomplish—fully interactive home assistant skills for Amazon Alexa and Google Home.</p>\n<p>By focusing on how to best serve and engage with their customers, Hydro Ottawa has developed a new way for their customers to interact with Hydro Ottawa and better understand their hydro activities. This includes everything from checking their account and billing status, to energy preservation tips based on their usage, to power outage statuses in their region.</p>\n<p>Don't hesitate to <a href=\"https://www.loginradius.com/contact-sales/\">contact our product specialists</a> or <a href=\"https://www.loginradius.com/schedule-demo/\">schedule a tailored demo</a> if you'd like to see how LoginRadius can help you start your digital transformation journey and disrupt your industry!</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":{"title":"Customer Spotlight - Hydro Ottawa","author":{"id":"Karl Wittig","github":null,"avatar":null},"date":"October 16, 2018","updated_date":null,"tags":["media-and-publication"],"coverImage":{"childImageSharp":{"fluid":{"aspectRatio":1.6129032258064515,"src":"/static/764ca3be101bb8bcd501e8fd49f7ab22/58556/customer-spotlight-hydro-ottawa.webp","srcSet":"/static/764ca3be101bb8bcd501e8fd49f7ab22/61e93/customer-spotlight-hydro-ottawa.webp 200w,\n/static/764ca3be101bb8bcd501e8fd49f7ab22/1f5c5/customer-spotlight-hydro-ottawa.webp 400w,\n/static/764ca3be101bb8bcd501e8fd49f7ab22/58556/customer-spotlight-hydro-ottawa.webp 800w,\n/static/764ca3be101bb8bcd501e8fd49f7ab22/99238/customer-spotlight-hydro-ottawa.webp 1200w,\n/static/764ca3be101bb8bcd501e8fd49f7ab22/90fb1/customer-spotlight-hydro-ottawa.webp 1500w","sizes":"(max-width: 800px) 100vw, 800px"}}}},"fields":{"authorId":"Karl Wittig","slug":"/identity/customer-spotlight-hydro-ottawa/"}}},{"node":{"id":"3260884e-ee2a-5ab7-be54-2000530f70a6","html":"<p><img src=\"/3950db75a56792db737ff33cf87d506f/logo_redegazeta-300x212.webp\"></p>\n<p>Founded in 1928, <a href=\"https://en.wikipedia.org/wiki/TV_Gazeta\">Rede Gazeta</a> started with one newspaper, A Gazeta. Throughout the years, it has grown into the largest communication network in the Espírito Santo region of Brazil. It has  a network of 19 businesses that touches various forms of media outlets, including print newspapers, online media, editorial photography, radio stations, and broadcasting.</p>\n<p>Rede Gazeta operates based on the commitment to innovation, quality content, and ethical conduct, and this belief and true throughout its entire organization.</p>\n<h2 id=\"the-situation\" style=\"position:relative;\"><a href=\"#the-situation\" aria-label=\"the situation 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 Situation</h2>\n<p>As one of the most important media corporations in Brazil, Rede Gazeta needs to ensure that they are constantly innovating how to best understand their audiences in order to stay relevant. The most important aspect of what they do, is understanding the content that is the most relevant and interesting to their audience.</p>\n<h2 id=\"the-challenges\" style=\"position:relative;\"><a href=\"#the-challenges\" aria-label=\"the challenges 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 Challenges</h2>\n<ul>\n<li><strong>Understanding the data</strong></li>\n<li>\n<ul>\n<li>With data from multiple sources, they struggled to consolidate everything and truly understand what their readers were looking for.</li>\n</ul>\n</li>\n<li><strong>Updating the infrastructure</strong></li>\n<li>\n<ul>\n<li>It was difficult to keep track and make sure that the APIs from all of the social networks were updated at all times</li>\n</ul>\n</li>\n<li><strong>Time consuming</strong></li>\n<li>\n<ul>\n<li>Instead of putting time towards innovating ways to reach their audience and working on future initiatives, the team was weighed down with the workload to maintain their existing infrastructure and APIs.</li>\n</ul>\n</li>\n</ul>\n<h2 id=\"the-loginradius-solution\" style=\"position:relative;\"><a href=\"#the-loginradius-solution\" aria-label=\"the loginradius solution 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 LoginRadius Solution</h2>\n<ul>\n<li><strong>Social Login</strong></li>\n<li>\n<ul>\n<li>With <a href=\"https://www.loginradius.com/social-login/\">LoginRadius' social login solution</a>, we took over the responsibility of maintaining and updating the social APIs to ensure that they are always up to date. We handle everything so Rede Gazeta can free up their time to focus on their own projects and initiatives.</li>\n</ul>\n</li>\n<li><strong>Customizable interface</strong></li>\n<li>\n<ul>\n<li>By using LoginRadius' dashboard, Rede Gazeta can easily customize and make any necessary changes to their registration page. Even though it is managed through LoginRadius, Rede Gazeta has full control over the look and feel of their registration page.</li>\n</ul>\n</li>\n<li>\n<p><strong>Integration</strong></p>\n<ul>\n<li><em>CXense</em></li>\n</ul>\n</li>\n<li>\n<ul>\n<li>\n<ul>\n<li>Through LoginRadius, Rede Gazeta was able to set up an integration with CXense, a data management platform, where the data stored in LoginRadius is automatically synced with the CXense database. This ensures that their data is unified at all times for further analysis.</li>\n</ul>\n</li>\n<li><em>Google Analytics</em></li>\n</ul>\n</li>\n<li>\n<ul>\n<li>\n<ul>\n<li>With the Google Analytics integration, Rede Gazeta can automatically track the user activity of their readers and have that information stored in the unified profiles in LoginRadius. This, along with the CXsense integration, provides Rede Gazeta with a centralized view of their audience. They now have all the information they need to know and generate the content that their users want to read.</li>\n</ul>\n</li>\n</ul>\n</li>\n</ul>\n<iframe width=\"853\" height=\"480\" src=\"https://www.youtube.com/embed/YROtRO5GpbQ\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen></iframe>\n<p>Rede Gazeta - LoginRadius Customer Success Story</p>\n<p><a href=\"https://www.loginradius.com/contact-us?utm_source=blog&#x26;utm_medium=web&#x26;utm_campaign=rede-gazeta-loginradius-customer-success-story\"><img src=\"/788a6a84e389edac18728007099fdc1d/Book-a-free-demo-request-1024x310.webp\" alt=\"book-a-free-demo-loginradius\"></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":{"title":"Rede Gazeta, a LoginRadius Customer Success Story","author":{"id":"Karl Wittig","github":null,"avatar":null},"date":"September 06, 2018","updated_date":null,"tags":["media-and-publication"],"coverImage":{"childImageSharp":{"fluid":{"aspectRatio":1.7699115044247788,"src":"/static/7ee981b07948cc9f29e88d5b4ad83f6a/58556/lr-and-rede-gazeta.webp","srcSet":"/static/7ee981b07948cc9f29e88d5b4ad83f6a/61e93/lr-and-rede-gazeta.webp 200w,\n/static/7ee981b07948cc9f29e88d5b4ad83f6a/1f5c5/lr-and-rede-gazeta.webp 400w,\n/static/7ee981b07948cc9f29e88d5b4ad83f6a/58556/lr-and-rede-gazeta.webp 800w,\n/static/7ee981b07948cc9f29e88d5b4ad83f6a/2ed18/lr-and-rede-gazeta.webp 959w","sizes":"(max-width: 800px) 100vw, 800px"}}}},"fields":{"authorId":"Karl Wittig","slug":"/identity/rede-gazeta-loginradius-customer-success-story/"}}},{"node":{"id":"d63f49b1-e1a1-52cc-adb0-d588d94879db","html":"<p>For over 20 years, <a href=\"https://www.broadcastmed.com/\">BroadcastMed</a> has been innovating digital strategies for healthcare providers and organizations. They work with the best brands in healthcare to help them develop and deliver relevant video-based learning content for physicians and other healthcare professionals.</p>\n<p>Committed to producing quality healthcare content in the clinical setting, they were the first in the world to live stream surgical procedures on the internet to provide an intimate look inside the operating room.</p>\n<h2 id=\"the-situation\" style=\"position:relative;\"><a href=\"#the-situation\" aria-label=\"the situation 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 Situation</h2>\n<p>Being in the forefront of innovation in their industry, BroadcastMed was looking for a way to improve their registration system for a better user experience and partner connectivity while ensuring data security.</p>\n<h2 id=\"the-challenges\" style=\"position:relative;\"><a href=\"#the-challenges\" aria-label=\"the challenges 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 Challenges</h2>\n<p>BroadcastMed had a few concerns that they wanted to address as they evaluated the LoginRadius solution:</p>\n<ul>\n<li><strong>The security of their user data</strong></li>\n<li>\n<ul>\n<li>As BroadcastMed works with numerous healthcare brands and retrieves sensitive identity information from the physicians and healthcare professionals who accesses the digital content, data security is of utmost importance when evaluating a <a href=\"https://www.loginradius.com/blog/identity/customer-identity-and-access-management/\">customer identity and access  management solution</a>.</li>\n</ul>\n</li>\n<li><strong>How to provide users across systems with the ability to register for programs</strong></li>\n<li>\n<ul>\n<li>BroadcastMed has numerous web properties hosting a multitude of video content for different medical fields. As such, they need to ensure that they have a centralized registration point and that their users are able to effortlessly navigate throughout the different content without interruption.</li>\n</ul>\n</li>\n<li><strong>Needed to be able to integrate single sign on with their partners</strong></li>\n<li>\n<ul>\n<li>BroadcastMed needed to make sure that the solution they chose has the capability to integrate Single Sign On with their partners as the network grows and expands.</li>\n</ul>\n</li>\n</ul>\n<h2 id=\"the-loginradius-solution\" style=\"position:relative;\"><a href=\"#the-loginradius-solution\" aria-label=\"the loginradius solution 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 LoginRadius Solution</h2>\n<ul>\n<li><strong>Integrating Single Sign-On with BroadcastMed's Partner</strong></li>\n<li>\n<ul>\n<li>\n<p>With LoginRadius' assistance, BroadcastMed was able to implement <a href=\"https://www.loginradius.com/single-sign-on-overview/\">Single Sign-On</a> with an important syndication partner to provide learning content to the partner's network of physicians and healthcare workers.</p>\n<p>This allowed those users to directly access BroadcastMed's content from the partner's portal, as well as making sure that the individual user's learning progress is safely stored.</p>\n</li>\n</ul>\n</li>\n<li><strong>Doximity as a Custom ID Provider</strong></li>\n<li>\n<ul>\n<li>Doximity is a social network specific to medical professionals and therefore is not a readily available social login provider. LoginRadius, however, was able to integrate Doximity as a custom identity provider for industry-specific social login.</li>\n</ul>\n</li>\n<li><strong>National Provider Identification (NPI) integration</strong></li>\n<li>\n<ul>\n<li>LoginRadius provided a custom registration NPI registration page where the users' NPI numbers are verified with the NPI registry in real-time. As well, the form autofills with the information that are retrieved from the NPI registry.</li>\n</ul>\n</li>\n<li><strong>Custom Object</strong></li>\n<li>\n<ul>\n<li>LoginRadius configured the <a href=\"https://www.loginradius.com/custom-object/\">custom object</a> to ensure that all of the data required by BroadcastMed are properly and securely stored, including the data retrieved via the NPI registry and the learning progress (or viewing history) of individual users, to name a few.</li>\n</ul>\n</li>\n<li><strong>Marketo integration</strong></li>\n<li>\n<ul>\n<li>A custom <a href=\"https://www.loginradius.com/integrations/marketo/\">Marketo integration</a> was configured for BroadcastMed to sync the desired user data from LoginRadius to Marketo in real time. This helped BroadcastMed to strategically develop solutions that help their clients more deeply engage with their audiences.</li>\n</ul>\n</li>\n</ul>\n<iframe width=\"744\" height=\"418\" src=\"https://www.youtube.com/embed/gUKIrBO_Ltg\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen></iframe>\n<p>BroadcastMed - LoginRadius Customer Success Story</p>\n<p><a href=\"https://www.loginradius.com/contact-us?utm_source=blog&#x26;utm_medium=web&#x26;utm_campaign=broadcastmed-loginradius-customer-success-story\"><img src=\"/1bebf239d110701b9b534d7eb481a5ac/BD-Plexicon1-1024x310-1.webp\" alt=\"book-a-demo-loginradius\"></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":{"title":"BroadcastMed, a LoginRadius Customer Success Story","author":{"id":"Karl Wittig","github":null,"avatar":null},"date":"July 05, 2018","updated_date":null,"tags":["media-and-publication"],"coverImage":{"childImageSharp":{"fluid":{"aspectRatio":1.7857142857142858,"src":"/static/15e3271f09c6fce827bea18b5c1cf6a0/58556/LR-and-BroadcastMed.webp","srcSet":"/static/15e3271f09c6fce827bea18b5c1cf6a0/61e93/LR-and-BroadcastMed.webp 200w,\n/static/15e3271f09c6fce827bea18b5c1cf6a0/1f5c5/LR-and-BroadcastMed.webp 400w,\n/static/15e3271f09c6fce827bea18b5c1cf6a0/58556/LR-and-BroadcastMed.webp 800w,\n/static/15e3271f09c6fce827bea18b5c1cf6a0/45c4b/LR-and-BroadcastMed.webp 958w","sizes":"(max-width: 800px) 100vw, 800px"}}}},"fields":{"authorId":"Karl Wittig","slug":"/identity/broadcastmed-loginradius-customer-success-story/"}}},{"node":{"id":"a5aa0fa2-6933-5ea2-b9c8-b3a36338a28d","html":"<p><img src=\"/d5e304bbcf56ccf7e40fd76164dbd678/IFMAlogo.webp\" alt=\"IFMAlogo\"></p>\n<p>The <a href=\"https://www.ifma.org/\">International Facility Management Association (IFMA)</a> is the world’s largest international association and guidance body for facility management professionals. Founded in 1980, IFMA provides credentialing, education programs, and guidance to facility management professionals. Headquartered in Houston (USA), IFMA is a not-for-profit organization supporting professionals in 104 countries.</p>\n<h3 id=\"the-situation\" style=\"position:relative;\"><a href=\"#the-situation\" aria-label=\"the situation 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 Situation</h3>\n<p>With registered members in more than 100 countries worldwide, IFMA intended to take as much of the member interaction online as possible. This meant that many of its services would be extended to members through their community websites. With the goal of providing a well-rounded online experience, they also wished to collect more information about its members.</p>\n<p>IFMA decided, however, that its members should not be forced to perform unproductive tasks such as completing long registration forms, or remembering multiple login credentials for the various websites. IFMA wanted a seamless user experience for its members so that they would not be distracted or repelled by the different stages in the workflow.</p>\n<h3 id=\"the-challenges\" style=\"position:relative;\"><a href=\"#the-challenges\" aria-label=\"the challenges 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 Challenges</h3>\n<p>Some of the challenges that IFMA was experiencing included: </p>\n<ul>\n<li>Integrating a social layer into each of IFMA’s websites, and linking each social identity with the IFMA issued membership identity.</li>\n<li>Capturing and store its members’ basic and extended social profile data points, and assigning specific roles to each members after registration.</li>\n<li>Allowing for seamless access between multiple IFMA websites without having to re-authenticate the same member’s identity multiple times. </li>\n<li>Creating a single identity associated with each membership regardless of the number of websites operated by IFMA.</li>\n</ul>\n<h3 id=\"loginradius-solution\" style=\"position:relative;\"><a href=\"#loginradius-solution\" aria-label=\"loginradius solution 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>LoginRadius’ Solution</h3>\n<p>After the deployment of LoginRadius <a href=\"https://www.loginradius.com/blog/identity/customer-identity-and-access-management/\">customer identity and access management solution</a>, IFMA was able to simplify the member sign-up and engagement process. In addition to fulfilling its core objectives, IFMA was able to build rich member profiles with the obtained social profile data. Specifically, LoginRadius helped IFMA achieve its goals in the following ways:  </p>\n<p><strong>1. Introduce Social Login in the Authentication Layer</strong><br>\nIFMA wanted LoginRadius to remove the clunky and time consuming registration form in favour of a <a href=\"https://www.loginradius.com/social-login/\">seamless social login process</a> would increase members’ activities. IFMA opted for Google, Facebook, Twitter, and LinkedIn as the four social networks whose identities its members can utilize to signup and login to the community site. As expected, IFMA experienced a significant increase in member engagement, as well as the number of daily and monthly active users.  </p>\n<p><strong>2. Capture Social Profile Data and Assign Roles</strong><br>\nWith the help of LoginRadius, they were able to obtain the missing <a href=\"https://www.loginradius.com/\">data points via social login</a>. This allowed IFMA to capture the basic and extended data points from the member’s social profile that they have chosen to log in with. Alongside building rich profiles, LoginRadius also provided IFMA with a role management function. This allowed IFMA to assign hierarchical roles to each member upon registration, enabling them to increase website engagement.  </p>\n<p><strong>3. Single Sign-On on Multiple IFMA Websites</strong><br>\nIn preparation for future site additions, IFMA asked LoginRadius to implement <a href=\"https://www.loginradius.com/single-sign-on/\">Single Sign-On</a> for its properties in such a way that new websites can be added to the Single Sign-On grouping on a plug and play basis.  </p>\n<p><strong>4. A Unified Profile for Each Member</strong><br>\nLoginRadius’ cIAM solution ensured that while an individual member can be associated with a number of social profiles, in addition to the official IFMA profile, all of the data associated with the single member is centralized, with only one record created per user. The same convention would also be followed for any prospective IFMA websites as desired by the organization.</p>\n<iframe width=\"770\" height=\"480\" src=\"https://www.youtube.com/embed/p6hyCKXDsic\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen></iframe>\n<p>IFMA - LoginRadius Customer Success Story</p>\n<p><a href=\"https://www.loginradius.com/contact-us?utm_source=blog&#x26;utm_medium=web&#x26;utm_campaign=ifma-loginradius-customer-success-story\"><img src=\"/8fce571f703a5970dbb1359a2fe0e51a/book-a-demo-loginradius.webp\" alt=\"book-free-demo-loginradius\"></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":{"title":"IFMA, a LoginRadius Customer Success Story","author":{"id":"Karl Wittig","github":null,"avatar":null},"date":"January 15, 2018","updated_date":null,"tags":["other"],"coverImage":{"childImageSharp":{"fluid":{"aspectRatio":0.975609756097561,"src":"/static/f9d85c5c91a2b4bd12993531023a8385/6e368/ifma-loginradius-customer-success-story.webp","srcSet":"/static/f9d85c5c91a2b4bd12993531023a8385/61e93/ifma-loginradius-customer-success-story.webp 200w,\n/static/f9d85c5c91a2b4bd12993531023a8385/6e368/ifma-loginradius-customer-success-story.webp 208w","sizes":"(max-width: 208px) 100vw, 208px"}}}},"fields":{"authorId":"Karl Wittig","slug":"/identity/ifma-loginradius-customer-success-story/"}}},{"node":{"id":"22e2c0fa-d8ac-5bf0-8771-f2ce333a0b42","html":"<p><a href=\"https://www.mapegy.com/\">Mapegy</a> is a SaaS company based in Berlin, Germany that focuses on big data and innovation analytics, and provides online solutions as well as consultancy services. They are pros at tracking and measuring global innovation and technology trends, and they use this knowledge to help businesses and corporations make strategic decisions and create business opportunities.</p>\n<p>Our friend, James Gardner, the COO of Mapegy, shares his insights into the challenges that brought them to LoginRadius, and what’s kept our partnership successful all these years.</p>\n<h4 id=\"the-situation\" style=\"position:relative;\"><a href=\"#the-situation\" aria-label=\"the situation permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><strong>The Situation</strong></h4>\n<p>Mapegy needed user management solution that can be easily implemented and deployed so they can focus their efforts and resources on innovating their own products and services. </p>\n<h4 id=\"challenges\" style=\"position:relative;\"><a href=\"#challenges\" aria-label=\"challenges permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><strong>Challenges</strong></h4>\n<p>The three main concerns that needed to be addressed with the user management solution were:</p>\n<ol>\n<li>Reliability and scalability</li>\n<li>Simple registration and login process for a positive user experience</li>\n<li>Ability to extract valuable profile information</li>\n</ol>\n<h4 id=\"the-loginradius-solution\" style=\"position:relative;\"><a href=\"#the-loginradius-solution\" aria-label=\"the loginradius solution permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><strong>The LoginRadius Solution</strong></h4>\n<p>With a flexible and customizable platform, alongside a <a href=\"https://www.loginradius.com/\">guaranteed 99.99% uptime</a>, Mapegy was reassured from the get-go that our solution is indeed both reliable and scalable when catering to their needs and user base as they grow. As well, our login and registration flows allowed Mapegy to provide their users with a streamlined and hassle-free login and registration process while creating <a href=\"https://www.loginradius.com/custom-object/\">centralized user profiles with the extended data points</a> that Mapegy was looking for.</p>\n<p>This played a significant role both in improving the user experience and providing Mapegy with the necessary data in order to to better understand their users.</p>\n<p>This also gave them the information to build their innovation graph as they continued to create and provide products that are the most relevant to their user base. As a company that serves global customers, we make sure that our support team is always available 24/7, regardless of what time zone they may be located in, and Mapegy has first-hand experience on the skills and speediness of our support team.</p>\n<p>Throughout their implementation process, our support team has always been readily available to answer any questions that Mapegy has and made sure that there is no lag in the support and the service that they would receive.</p>\n<iframe width=\"770\" height=\"480\" src=\"https://www.youtube.com/embed/icfip6ayoY8\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen></iframe>\n<p>Mapegy - LoginRadius Customer Success Story</p>\n<p><a href=\"https://www.loginradius.com/contact-us?utm_source=blog&#x26;utm_medium=web&#x26;utm_campaign=mapegy-loginradius-customer-success-story\"><img src=\"/788a6a84e389edac18728007099fdc1d/Book-a-free-demo-request-1024x310.webp\" alt=\"book-a-free-demo-loginradius\"></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":{"title":"Mapegy, a LoginRadius Customer Success Story","author":{"id":"Karl Wittig","github":null,"avatar":null},"date":"June 15, 2017","updated_date":null,"tags":["media-and-publication"],"coverImage":{"childImageSharp":{"fluid":{"aspectRatio":1.7857142857142858,"src":"/static/24318811f184da31876379297f3365df/58556/Mapegy_LR.webp","srcSet":"/static/24318811f184da31876379297f3365df/61e93/Mapegy_LR.webp 200w,\n/static/24318811f184da31876379297f3365df/1f5c5/Mapegy_LR.webp 400w,\n/static/24318811f184da31876379297f3365df/58556/Mapegy_LR.webp 800w,\n/static/24318811f184da31876379297f3365df/feae4/Mapegy_LR.webp 961w","sizes":"(max-width: 800px) 100vw, 800px"}}}},"fields":{"authorId":"Karl Wittig","slug":"/identity/mapegy-loginradius-customer-success-story/"}}},{"node":{"id":"c072e4f7-06dd-5dc3-9a43-258855d6011c","html":"<p><img src=\"/870c51947a23ce9e8ef5bbddf29e0d94/LR-Aurora-WDC.webp\"></p>\n<p>Founded in 1995 by Arik Johnson, <a href=\"https://aurorawdc.com/\">Aurora Worldwide Development Corporation (WDC)</a> is a leading analytics and intelligence firm providing consultative services to corporate clients worldwide. We are grateful to be able to have such a long-standing relationship with Aurora WDC and glad that we have been able to help them in providing a better user experience and a well-rounded solution to better manage their client relationships.</p>\n<p>Here, we share the story of Aurora WDC's journey with LoginRadius (with the video down below).</p>\n<h4 id=\"the-situation\" style=\"position:relative;\"><a href=\"#the-situation\" aria-label=\"the situation permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><strong>The Situation</strong></h4>\n<p>In 2012, Aurora WDC built a social learning platform, Reconverge.net, with the goal of creating a community where their clients are able to connect with each other and learn how to do competitive intelligence work more effectively.</p>\n<h4 id=\"challenges\" style=\"position:relative;\"><a href=\"#challenges\" aria-label=\"challenges permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><strong>Challenges</strong></h4>\n<p>In order to build an effective social learning platform and attract members to become a part of this community, there were a few hurdles that Aurora WDC needed to overcome:</p>\n<ul>\n<li>Simplify the login and authentication process</li>\n<li>The solution needs to be compatible with and implemented on their WordPress websites</li>\n<li>Need to integrate the user data with other systems, namely Salesforce and Pardot</li>\n<li>Eventually transitioned to Hubspot - need to re-integrate with the new system</li>\n</ul>\n<h4 id=\"loginradius-solutions\" style=\"position:relative;\"><a href=\"#loginradius-solutions\" aria-label=\"loginradius solutions permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><strong>LoginRadius Solutions</strong></h4>\n<p>When Aurora WDC approached LoginRadius with said challenges, we gracefully accepted and proceeded to tackle every single one of them. First and foremost, <a href=\"https://www.loginradius.com/social-login/\">our social login feature</a> allowed them to provide social login options for their users, which resulted in a quick and easy registration and authentication process.</p>\n<p>Users no longer had to experience the hassle of entering in their personal details or come up with yet another password, and can simply select and login with their preferred social provider.</p>\n<p>In addition, LoginRadius' comprehensive WordPress plugin ensured that there were no issues when implementing this solution on Aurora WDC's WordPress-based sites.</p>\n<p>One of the main strengths of LoginRadius <a href=\"https://www.loginradius.com/blog/identity/customer-identity-and-access-management/\">customer identity and access management</a> platform is its flexibility to integrate with multiple systems and tools that our customers are using to help enhance their workflows.</p>\n<p>In this case, we were able to successfully integrate Aurora WDC's LoginRadius account and user data with both Salesforce and Pardot so they can have a clear view of their clients and manage those relationships, as well as maximize their marketing efforts based on the user data collected via LoginRadius.</p>\n<p>As Aurora WDC transitioned to Hubspot, we stepped up our game and re-integrated them with Hubspot to make sure that there is no interruption as they continue to build their client relationships.</p>\n<iframe width=\"770\" height=\"480\" src=\"https://www.youtube.com/embed/4AIlzL5QRqo\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen></iframe>\n<p>Aurora WDC - LoginRadius Customer Success Story</p>\n<p><a href=\"https://www.loginradius.com/contact-us?utm_source=blog&#x26;utm_medium=web&#x26;utm_campaign=aurora-wdc-loginradius-customer-success-story\"><img src=\"/8fce571f703a5970dbb1359a2fe0e51a/book-a-demo-loginradius.webp\" alt=\"book-free-demo-loginradius\"></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":{"title":"Aurora WDC, a LoginRadius Customer Success Story","author":{"id":"Karl Wittig","github":null,"avatar":null},"date":"May 26, 2017","updated_date":null,"tags":["media-and-publication"],"coverImage":{"childImageSharp":{"fluid":{"aspectRatio":1.7857142857142858,"src":"/static/870c51947a23ce9e8ef5bbddf29e0d94/58556/aurora-wdc-loginradius-customer-success-story.webp","srcSet":"/static/870c51947a23ce9e8ef5bbddf29e0d94/61e93/aurora-wdc-loginradius-customer-success-story.webp 200w,\n/static/870c51947a23ce9e8ef5bbddf29e0d94/1f5c5/aurora-wdc-loginradius-customer-success-story.webp 400w,\n/static/870c51947a23ce9e8ef5bbddf29e0d94/58556/aurora-wdc-loginradius-customer-success-story.webp 800w,\n/static/870c51947a23ce9e8ef5bbddf29e0d94/2ed18/aurora-wdc-loginradius-customer-success-story.webp 959w","sizes":"(max-width: 800px) 100vw, 800px"}}}},"fields":{"authorId":"Karl Wittig","slug":"/identity/aurora-wdc-loginradius-customer-success-story/"}}},{"node":{"id":"02f49dd8-a581-5304-9633-4934abd55265","html":"<p>Established in 2014, IOM X is an innovative campaign created by the non-profit organization, <a href=\"https://www.iom.int/\">International Organization for Migration (IOM)</a>, that leverages the influence of technology and media to inspire communities and youths to act against human trafficking. Its activities mainly focus on developing free and accessible television and online media content with the goal of raising awareness about human trafficking, as well as the actions that can be taken to help fight it.</p>\n<h3 id=\"why-they-came-to-loginradius\" style=\"position:relative;\"><a href=\"#why-they-came-to-loginradius\" aria-label=\"why they came to 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><strong>Why they came to LoginRadius</strong></h3>\n<p>As IOM X’s efforts are centered around accessible web-based content, digital media and online engagement is essential to everything they do. With <a href=\"https://www.loginradius.com/social-login/\">LoginRadius’ social solution</a>, IOM X wanted to achieve these two objectives:</p>\n<ol>\n<li>Gain a better insight of its users to create more effective marketing communications</li>\n<li>Provide an improved user experience to increase visitor-to-user conversion rate</li>\n</ol>\n<p>At LoginRadius, we strive to provide a simple and hassle-free implementation process to help our customers successfully achieve their goals. During IOM X’s implementation period, our 24-hour support team was readily available to assist whenever there were any questions or concerns.</p>\n<h3 id=\"what-they-saw-as-a-result\" style=\"position:relative;\"><a href=\"#what-they-saw-as-a-result\" aria-label=\"what they saw as a result permalink\" class=\"anchor before\"><svg aria-hidden=\"true\" focusable=\"false\" height=\"16\" version=\"1.1\" viewBox=\"0 0 16 16\" width=\"16\"><path fill-rule=\"evenodd\" d=\"M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z\"></path></svg></a><strong>What they saw as a result</strong></h3>\n<p>By centralizing all of their user identities, IOM X was able to gain valuable insight into their user base, tailor their messages to specific audiences, and provide users with more effective and meaningful content. They are now able to cater their communication and media and have seen improvements in user engagement and increases in the conversion rate.</p>\n<iframe width=\"770\" height=\"480\" src=\"https://www.youtube.com/embed/dW7TqTrijC4\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen></iframe>\n<p>IOMX - LoginRadius Customer Success Story</p>\n<p><a href=\"https://www.loginradius.com/contact-us?utm_source=blog&#x26;utm_medium=web&#x26;utm_campaign=customer-success-story-iom-x\"><img src=\"/1bebf239d110701b9b534d7eb481a5ac/BD-Plexicon1-1024x310-1.webp\" alt=\"book-a-demo-loginradius\"></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":{"title":"IOM X, a LoginRadius Customer Success Story","author":{"id":"Karl Wittig","github":null,"avatar":null},"date":"March 01, 2017","updated_date":null,"tags":["media-and-publication"],"coverImage":{"childImageSharp":{"fluid":{"aspectRatio":2.127659574468085,"src":"/static/bd1eab2798558ec05d436c5a6ca268f0/58556/customer-success-story-iom-x.webp","srcSet":"/static/bd1eab2798558ec05d436c5a6ca268f0/61e93/customer-success-story-iom-x.webp 200w,\n/static/bd1eab2798558ec05d436c5a6ca268f0/1f5c5/customer-success-story-iom-x.webp 400w,\n/static/bd1eab2798558ec05d436c5a6ca268f0/58556/customer-success-story-iom-x.webp 800w,\n/static/bd1eab2798558ec05d436c5a6ca268f0/99238/customer-success-story-iom-x.webp 1200w,\n/static/bd1eab2798558ec05d436c5a6ca268f0/721f6/customer-success-story-iom-x.webp 1281w","sizes":"(max-width: 800px) 100vw, 800px"}}}},"fields":{"authorId":"Karl Wittig","slug":"/identity/customer-success-story-iom-x/"}}},{"node":{"id":"918ebc91-0014-5d69-b999-d5693a15d81e","html":"<p>LinkedIn has recently revamped their API systems and added many new restrictions. We will go through some examples on how you can utilize the LinkedIn Javascript API in order to setup some useful features that comply with LinkedIn's new terms and conditions and use cases.</p>\n<h2 id=\"getting-your-site-ready\" style=\"position:relative;\"><a href=\"#getting-your-site-ready\" aria-label=\"getting your site ready 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 Your Site Ready</h2>\n<p>The first step will be setting up your login button which will prompt the user to authenticate with their LinkedIn credentials. We have provided a guide to getting a basic login button setup <a href=\"/integrate-linkedin-social-login-website/\">here</a>. The linked guide will get you as far as setting up a button that allows your users to login with LinkedIn and display a personalized welcome message. Below we will go over extending this functionality to allow you to handle more complex features for your users after logging in.</p>\n<h2 id=\"event-handling\" style=\"position:relative;\"><a href=\"#event-handling\" aria-label=\"event handling 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>Event Handling</h2>\n<p>You can control and initiate specific behavior after a user logs in. You can assign these event handlers by first setting the function that will be used to initialize the events. This will trigger the event designation after the LinkedIn scripts have been loaded on your page. Update the LinkedIn initialization script:</p>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"js\" data-index=\"0\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"mtk1\">&lt;!--</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">api_key: </span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">authorize: </span><span class=\"mtk4\">true</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">onLoad: </span><span class=\"mtk12\">onLinkedInLoad</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">--&gt;</span></span></code></pre>\n<p>This will trigger the onLinkedInLoad function after the Linkedin scripts have been loaded.</p>\n<p>You can now assign some LinkedIn Event handlers in this function to control the behavior that will occur for different LinkedIn user actions. Let's begin by assigning the behavior that occurs after a user logs in.</p>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"js\" data-index=\"1\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"mtk1\">&lt;!--</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk4\">function</span><span class=\"mtk1\"> </span><span class=\"mtk11\">onLinkedInLoad</span><span class=\"mtk1\">() {</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    </span><span class=\"mtk12\">IN</span><span class=\"mtk1\">.</span><span class=\"mtk12\">Event</span><span class=\"mtk1\">.</span><span class=\"mtk11\">on</span><span class=\"mtk1\">(</span><span class=\"mtk12\">IN</span><span class=\"mtk1\">, </span><span class=\"mtk8\">&quot;auth&quot;</span><span class=\"mtk1\">, </span><span class=\"mtk12\">getProfileData</span><span class=\"mtk1\">);</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">}</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">--&gt;</span></span></code></pre>\n<p>The above event will trigger when a user authorizes and will call the getProfileData function. We can add another event assignment for the user logging out.</p>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"js\" data-index=\"2\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"mtk1\">&lt;!--</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk4\">function</span><span class=\"mtk1\"> </span><span class=\"mtk11\">onLinkedInLoad</span><span class=\"mtk1\">() {</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    </span><span class=\"mtk12\">IN</span><span class=\"mtk1\">.</span><span class=\"mtk12\">Event</span><span class=\"mtk1\">.</span><span class=\"mtk11\">on</span><span class=\"mtk1\">(</span><span class=\"mtk12\">IN</span><span class=\"mtk1\">, </span><span class=\"mtk8\">&quot;auth&quot;</span><span class=\"mtk1\">, </span><span class=\"mtk12\">getProfileData</span><span class=\"mtk1\">);</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    </span><span class=\"mtk12\">IN</span><span class=\"mtk1\">.</span><span class=\"mtk12\">Event</span><span class=\"mtk1\">.</span><span class=\"mtk11\">on</span><span class=\"mtk1\">(</span><span class=\"mtk12\">IN</span><span class=\"mtk1\">, </span><span class=\"mtk8\">&quot;logout&quot;</span><span class=\"mtk1\">, </span><span class=\"mtk12\">sendGoodByeMessage</span><span class=\"mtk1\">);</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">}</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">--&gt;</span></span></code></pre>\n<p>The above logout event will trigger the sendGoodByeMessage when the user logs out. Now that we have the basic event handling in place we can handle the specific behavior for users logging in.</p>\n<h2 id=\"data-retrieval-and-api-access\" style=\"position:relative;\"><a href=\"#data-retrieval-and-api-access\" aria-label=\"data retrieval and api access 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>Data Retrieval and API access</h2>\n<p>Once a user has logged in and triggered the getProfileData event we can pull in their user profile using the LinkedIn Raw data API handlers, these allow you to access any of LinkedIn's API endpoints and get data back. We will begin with a quick check to make sure the user is still authorized and then call the Raw API to pull in the people endpoint for the current user:</p>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"js\" data-index=\"3\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"mtk1\">&lt;!--</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk4\">function</span><span class=\"mtk1\"> </span><span class=\"mtk11\">getProfileData</span><span class=\"mtk1\">() {</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    </span><span class=\"mtk15\">if</span><span class=\"mtk1\">(</span><span class=\"mtk12\">IN</span><span class=\"mtk1\">.</span><span class=\"mtk12\">User</span><span class=\"mtk1\">.</span><span class=\"mtk11\">isAuthorized</span><span class=\"mtk1\">())</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">        </span><span class=\"mtk12\">IN</span><span class=\"mtk1\">.</span><span class=\"mtk12\">API</span><span class=\"mtk1\">.</span><span class=\"mtk11\">Raw</span><span class=\"mtk1\">(</span><span class=\"mtk8\">&quot;/people/~&quot;</span><span class=\"mtk1\">).</span><span class=\"mtk11\">result</span><span class=\"mtk1\">(</span><span class=\"mtk12\">onSuccess</span><span class=\"mtk1\">).</span><span class=\"mtk11\">error</span><span class=\"mtk1\">(</span><span class=\"mtk12\">onError</span><span class=\"mtk1\">);</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">}</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">--&gt;</span></span></code></pre>\n<p>If the data is successfully returned it will call the onSuccess function and if not it will call onError.</p>\n<p>These functions will both include a JSON formatted response that can be used to display their profile data or log a message:</p>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"js\" data-index=\"4\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"mtk1\">&lt;!--</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk4\">function</span><span class=\"mtk1\"> </span><span class=\"mtk11\">onSuccess</span><span class=\"mtk1\">(</span><span class=\"mtk12\">data</span><span class=\"mtk1\">) {</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    </span><span class=\"mtk10\">console</span><span class=\"mtk1\">.</span><span class=\"mtk11\">log</span><span class=\"mtk1\">(</span><span class=\"mtk12\">data</span><span class=\"mtk1\">);</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">}</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk4\">function</span><span class=\"mtk1\"> </span><span class=\"mtk11\">onError</span><span class=\"mtk1\">(</span><span class=\"mtk12\">error</span><span class=\"mtk1\">) {</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    </span><span class=\"mtk10\">console</span><span class=\"mtk1\">.</span><span class=\"mtk11\">log</span><span class=\"mtk1\">(</span><span class=\"mtk12\">error</span><span class=\"mtk1\">);</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">}</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">--&gt;</span></span></code></pre>\n<p>You can test the response formats for most of the LinkedIn APIs on <a href=\"https://apigee.com/console/linkedin\">LinkedIns API console</a> You can access any of the API endpoints after successful login via the raw API handler and retrieve data per your requirements.</p>\n<h2 id=\"user-management\" style=\"position:relative;\"><a href=\"#user-management\" aria-label=\"user 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>User Management</h2>\n<p>Before making any API requests you should verify that your user has a current active session. User sessions are valid for 30 minutes by default. These sessions can be extended using the following call:</p>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"js\" data-index=\"5\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"mtk1\">&lt;!--</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk12\">IN</span><span class=\"mtk1\">.</span><span class=\"mtk12\">User</span><span class=\"mtk1\">.</span><span class=\"mtk11\">refresh</span><span class=\"mtk1\">()</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">--&gt;</span></span></code></pre>\n<p>The above call can be used to refresh the expiration time for the user but repeated calls may cause your app to be blocked so this should be used sparingly.</p>\n<p>You can provide the ability for your users to logout by setting up a button or link that will trigger the following function call:</p>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"js\" data-index=\"6\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"mtk1\">&lt;!--</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk12\">IN</span><span class=\"mtk1\">.</span><span class=\"mtk12\">User</span><span class=\"mtk1\">.</span><span class=\"mtk11\">logout</span><span class=\"mtk1\">(</span><span class=\"mtk12\">sendGoodByeMessage</span><span class=\"mtk1\">);</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">--&gt;</span></span></code></pre>\n<p>This will trigger the same function that was assigned to the logout event.</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 .mtk4 { color: #569CD6; }\n  .dark-default-dark .mtk12 { color: #9CDCFE; }\n  .dark-default-dark .mtk11 { color: #DCDCAA; }\n  .dark-default-dark .mtk8 { color: #CE9178; }\n  .dark-default-dark .mtk15 { color: #C586C0; }\n  .dark-default-dark .mtk10 { color: #4EC9B0; }\n</style>","frontmatter":{"title":"Extended LinkedIn API Usage","author":{"id":"Karl Wittig","github":null,"avatar":null},"date":"February 09, 2016","updated_date":null,"tags":["LinkedIn","SocialLogin"],"coverImage":{"childImageSharp":{"fluid":{"aspectRatio":1,"src":"/static/dacf65e1b50df78fc0c763813d3cb64f/403a4/linkedin-feat-img.webp","srcSet":"/static/dacf65e1b50df78fc0c763813d3cb64f/61e93/linkedin-feat-img.webp 200w,\n/static/dacf65e1b50df78fc0c763813d3cb64f/403a4/linkedin-feat-img.webp 300w","sizes":"(max-width: 300px) 100vw, 300px"}}}},"fields":{"authorId":"Karl Wittig","slug":"/engineering/extended-linkedin-api-usage/"}}},{"node":{"id":"6b03addc-f2af-5dc6-9274-c0685bfd0dd3","html":"<p>Authentication systems are the backbone of many websites. It allows users to log in to your site and preserving data between visits. It is crucial in offering a robust user experience, which rewards your users for providing their details. Authentications often provide access to personal private data which if made public, it could harm your user. To prevent these, authentication protocols were created to secure the requests while allowing users to still safely login to your system from any environment.</p>\n<p><strong>Basic SSL Auth</strong></p>\n<p>Basic auth is the simplest form of web authentication. It utilizes standard HTTP headers in place of more complicated solutions that rely on cookies, session identifiers, and login pages. There is very little security built into the basic auth system. Credentials are transmitted with only Base64 encoding and are not encrypted or hashed. Due to the ingrained insecurities in the system, these requests are most often made via HTTPS.</p>\n<p>The authorization information should be compiled into the following format and included in the header:</p>\n<p>Format:</p>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"http\" data-index=\"0\"><code class=\"grvsc-code\"><span class=\"grvsc-line\">&lt;!--Authorization: Basic --&gt;</span></code></pre>\n<p>Full details on the Basic Authentication protocol can be found here: <a href=\"http://www.w3.org/Protocols/HTTP/1.0/spec.html#AA\">Authentication Protocol</a></p>\n<p><strong>Digest Auth</strong></p>\n<p>Digest Auth works similar to basic SSL authentication with the exception that the password is encrypted using a one-way hash. It utilizes MD5 cryptographic hashing with a nonce(a server-generated value that prevents replay attacks).</p>\n<p>The typical flow of a Digest Auth request is :</p>\n<ol>\n<li>A user navigates to a page that requires user authentication.</li>\n<li>The server responds with a 401 message that signifies that a user is not currently authorized to access the content. In the response, it also includes the nonce which will be used during the authorization to prevent replay attacks,</li>\n<li>The site then displays an authentication interface to gather the required details( username and password )</li>\n<li>The provided details are re-sent to the server with an authentication header included in the request that has a response code.</li>\n<li>The server would then verify the provided credentials and accept the authentication or return a 401 message if the credentials are incorrect, which would cause the user to be again prompted with the authentication interface.</li>\n</ol>\n<p>You can find full details on the Digest Auth protocol can be found here: <a href=\"https://www.ietf.org/rfc/rfc2617.txt\">Digest Auth Protocol</a></p>\n<p><strong>OAuth 1.0</strong></p>\n<p>The OAuth 1.0 protocol relies on having a shared secret between the server and the site. This shared secret is used to generate a signature that is included in the request. The generated signature is used to verify the validity of the authentication request on the server-side. The process for authorizing the user is generally handled in three steps (3-legged OAuth):</p>\n<ol>\n<li>Site obtains Request Token.</li>\n<li>User authorizes the Request Token.</li>\n<li>Site exchanges Request token for Access Token.</li>\n</ol>\n<p>The process of completing a 3-legged OAuth request will generally be handled as follows:</p>\n<ol>\n<li>\n<p>The site will send a signed request for the Request token. This request should contain the following parameters:</p>\n<ol>\n<li>oauth_consumer_key</li>\n<li>oauth_timestamp</li>\n<li>oauth_nonce</li>\n<li>oauth_signature</li>\n<li>oauth_signature_method</li>\n<li>oauth_version</li>\n<li>oauth_callback</li>\n</ol>\n</li>\n</ol>\n<p>This request will be validated on the server.  If validated, it will return the request token in the following format:</p>\n<ol>\n<li>oauth_token</li>\n<li>oauth_token_secret</li>\n<li>and any other additional parameters returned by your server.</li>\n<li>The next step after retrieving the request token is to prompt your user to input their login credentials. These are then formatted into a signature with the oauth_token request token. Then they are sent with a request back to the server for validation. Upon successful validation from this request, the server will return the following:</li>\n<li>oauth_token</li>\n<li>oauth_verifier</li>\n</ol>\n<p>These will be used in the next step to retrieve an access token.</p>\n<ol>\n<li>The final step is exchanging the retrieved details from step 2 for an access token, which will be used to access the server's resources. To exchange your request token for an access token, you can make a request to the server with the following signed request</li>\n<li>oauth_token -returned from step 2</li>\n<li>oauth_consumer_key</li>\n<li>oauth_nonce</li>\n<li>oauth_signature</li>\n<li>oauth_signature_method</li>\n<li>oauth_version</li>\n<li>oauth_verifier -returned from step 2</li>\n</ol>\n<p>This will return you an access token to be used in conjunction with your secret in order to make requests for information from the server.</p>\n<p>You can find full details on the OAuth 1.0 protocol here: <a href=\"https://tools.ietf.org/html/rfc5849\">OAuth 1.0 protocol</a></p>\n<p><strong>OAuth 2.0</strong></p>\n<p>This is similar to the OAuth 1.0 protocol, it relies on a client id and secret in order to format request, but simplifies much of the complicated signing process that is inherent in the OAuth 1.0 system. The process for authorizing a user using the 3-legged OAuth 2.0 protocol is as follows:</p>\n<ol>\n<li>\n<p>User is directed to the service for authorization with the following details included in the authorization URL:</p>\n<ol>\n<li>client_id</li>\n<li>redirect_uri</li>\n<li>response_type</li>\n<li>scope</li>\n</ol>\n</li>\n<li>\n<p>The user would then authenticate with the service and grant the application access to their details. On successful authentication, the user is redirected back to the redirect_uri with the following parameters:</p>\n<ol>\n<li>code</li>\n<li>state</li>\n</ol>\n</li>\n<li>\n<p>The code returned in step 2 is then used by the application to make a request for an access token. Included in this request should be:</p>\n<ol>\n<li>client_id</li>\n<li>client_secret</li>\n<li>code</li>\n<li>redirect_uri</li>\n<li>grant_type - This should be set to “authorization_code”</li>\n</ol>\n</li>\n</ol>\n<p>The server will verify these details and then return an access token with an expiration time if they are valid. These get generally returned in the following format:</p>\n<ol>\n<li>access_token</li>\n<li>expires_in</li>\n<li>refresh_token</li>\n</ol>\n<p>You can find full details on the OAuth 2.0 protocol here: <a href=\"http://oauth.net/2/\">OAuth 2.0 protocol</a></p>\n<p>Authentication protocols allow you to secure your data with varying levels of security. Depending on the data being accessed and your desired level of security, implementing one of the above protocols allows you to be confident that your data is safe and can only being accessed by users that are permitted to your system.</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</style>","frontmatter":{"title":"Website Authentication Protocols","author":{"id":"Karl Wittig","github":null,"avatar":null},"date":"December 01, 2015","updated_date":null,"tags":["Authentication","Oauth"],"coverImage":{"childImageSharp":{"fluid":{"aspectRatio":1.5625,"src":"/static/148a460add8a46784c528ade826702d3/58556/server-proc-150x150.webp","srcSet":"/static/148a460add8a46784c528ade826702d3/61e93/server-proc-150x150.webp 200w,\n/static/148a460add8a46784c528ade826702d3/1f5c5/server-proc-150x150.webp 400w,\n/static/148a460add8a46784c528ade826702d3/58556/server-proc-150x150.webp 800w,\n/static/148a460add8a46784c528ade826702d3/99238/server-proc-150x150.webp 1200w,\n/static/148a460add8a46784c528ade826702d3/7c22d/server-proc-150x150.webp 1600w,\n/static/148a460add8a46784c528ade826702d3/34181/server-proc-150x150.webp 2256w","sizes":"(max-width: 800px) 100vw, 800px"}}}},"fields":{"authorId":"Karl Wittig","slug":"/engineering/website-authentication-protocols/"}}},{"node":{"id":"032c01cc-c9da-5ec8-89ef-c3fa0ed8e951","html":"<p>In order to display your LoginRadius Login Interface in a pop-up you can leverage Jquery-ui which is a well documented, easy-to-use library that allows you to handle some common functionality such as pop-up dialogs and other UI features. In this article we go over the steps to use Jquery-ui to display a pop-up on your page with a LoginRadius login interface using the LoginRadius HTML SDK.</p>\n<p>1. Get the required references this guide relies on: Jquery and Jquery-ui. You can include the hosted reference files in the header of your page:</p>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"js\" data-index=\"0\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"mtk1\">&lt;!--</span></span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">--&gt;</span></span></code></pre>\n<p>2. Include the LoginRadius Interface Javascript and HTML5 SDK reference:</p>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"js\" data-index=\"1\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"mtk1\">&lt;!--</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk4\">var</span><span class=\"mtk1\"> </span><span class=\"mtk12\">options</span><span class=\"mtk1\">={};</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk12\">options</span><span class=\"mtk1\">.</span><span class=\"mtk12\">login</span><span class=\"mtk1\">=</span><span class=\"mtk4\">true</span><span class=\"mtk1\">;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk12\">LoginRadius_SocialLogin</span><span class=\"mtk1\">.</span><span class=\"mtk12\">util</span><span class=\"mtk1\">.</span><span class=\"mtk11\">ready</span><span class=\"mtk1\">(</span><span class=\"mtk4\">function</span><span class=\"mtk1\"> () {</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    </span><span class=\"mtk12\">$ui</span><span class=\"mtk1\"> = </span><span class=\"mtk12\">LoginRadius_SocialLogin</span><span class=\"mtk1\">.</span><span class=\"mtk12\">lr_login_settings</span><span class=\"mtk1\">;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    </span><span class=\"mtk12\">$ui</span><span class=\"mtk1\">.</span><span class=\"mtk12\">interfacesize</span><span class=\"mtk1\"> = </span><span class=\"mtk8\">&quot;&quot;</span><span class=\"mtk1\">;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    </span><span class=\"mtk12\">$ui</span><span class=\"mtk1\">.</span><span class=\"mtk12\">apikey</span><span class=\"mtk1\"> = </span><span class=\"mtk8\">&quot;&quot;</span><span class=\"mtk1\">;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    </span><span class=\"mtk12\">$ui</span><span class=\"mtk1\">.</span><span class=\"mtk12\">callback</span><span class=\"mtk1\">=</span><span class=\"mtk8\">&quot;&quot;</span><span class=\"mtk1\">;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    </span><span class=\"mtk12\">$ui</span><span class=\"mtk1\">.</span><span class=\"mtk12\">lrinterfacecontainer</span><span class=\"mtk1\"> =</span><span class=\"mtk8\">&quot;interfacecontainerdiv&quot;</span><span class=\"mtk1\">;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    </span><span class=\"mtk12\">LoginRadius_SocialLogin</span><span class=\"mtk1\">.</span><span class=\"mtk11\">init</span><span class=\"mtk1\">(</span><span class=\"mtk12\">options</span><span class=\"mtk1\">);</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">});</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">--&gt;</span></span></code></pre>\n<p>3. Create the HTML structure for your page. Below we have created a button to trigger our pop-up display as well as the dialog container that will be displayed in the custom pop-up which is hidden by default. We have also included a div to display profile data after successfully authenticating.</p>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"js\" data-index=\"2\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"mtk1\">&lt;!--</span><span class=\"mtk12\">Login</span></span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    </span></span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\"> --&gt;</span></span></code></pre>\n<p>4. Create a JavaScript function to handle the display of the pop-up dialog. The below function utilizes Jquery-ui functions to display the dialog and the LoginRadius login interface initialization function to render the login interface on the popup:</p>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"javascript\" data-index=\"3\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"mtk4\">function</span><span class=\"mtk1\"> </span><span class=\"mtk11\">Login</span><span class=\"mtk1\">(){</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    </span><span class=\"mtk11\">$</span><span class=\"mtk1\">( </span><span class=\"mtk8\">&quot;#dialog&quot;</span><span class=\"mtk1\"> ).</span><span class=\"mtk11\">dialog</span><span class=\"mtk1\">();</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    </span><span class=\"mtk12\">LoginRadius_SocialLogin</span><span class=\"mtk1\">.</span><span class=\"mtk11\">init</span><span class=\"mtk1\">(</span><span class=\"mtk12\">options</span><span class=\"mtk1\">);</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">}</span></span></code></pre>\n<p>5. Include the JavaScript callback script to handle a successful authentication and display the profile data.</p>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"javascript\" data-index=\"4\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"mtk12\">LoginRadiusSDK</span><span class=\"mtk1\">.</span><span class=\"mtk11\">setLoginCallback</span><span class=\"mtk1\">(</span><span class=\"mtk12\">Successfullylogin</span><span class=\"mtk1\">);</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk4\">function</span><span class=\"mtk1\"> </span><span class=\"mtk11\">Successfullylogin</span><span class=\"mtk1\">(){</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    </span><span class=\"mtk12\">LoginRadiusSDK</span><span class=\"mtk1\">.</span><span class=\"mtk11\">getUserprofile</span><span class=\"mtk1\">( </span><span class=\"mtk4\">function</span><span class=\"mtk1\">( </span><span class=\"mtk12\">data</span><span class=\"mtk1\">) {</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">        </span><span class=\"mtk11\">$</span><span class=\"mtk1\">( </span><span class=\"mtk8\">&quot;#dialog&quot;</span><span class=\"mtk1\"> ).</span><span class=\"mtk11\">dialog</span><span class=\"mtk1\">(</span><span class=\"mtk8\">&quot;close&quot;</span><span class=\"mtk1\">);</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">        </span><span class=\"mtk12\">document</span><span class=\"mtk1\">.</span><span class=\"mtk11\">getElementById</span><span class=\"mtk1\">(</span><span class=\"mtk8\">&quot;profile&quot;</span><span class=\"mtk1\">).</span><span class=\"mtk12\">innerHTML</span><span class=\"mtk1\"> = </span><span class=\"mtk10\">JSON</span><span class=\"mtk1\">.</span><span class=\"mtk11\">stringify</span><span class=\"mtk1\">(</span><span class=\"mtk12\">data</span><span class=\"mtk1\">);</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    });</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">}</span></span></code></pre>\n<p>Full Example:</p>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"js\" data-index=\"5\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"mtk1\">&lt;!--</span></span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\"> </span><span class=\"mtk4\">var</span><span class=\"mtk1\"> </span><span class=\"mtk12\">options</span><span class=\"mtk1\">={};</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk12\">options</span><span class=\"mtk1\">.</span><span class=\"mtk12\">login</span><span class=\"mtk1\">=</span><span class=\"mtk4\">true</span><span class=\"mtk1\">;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk12\">LoginRadius_SocialLogin</span><span class=\"mtk1\">.</span><span class=\"mtk12\">util</span><span class=\"mtk1\">.</span><span class=\"mtk11\">ready</span><span class=\"mtk1\">(</span><span class=\"mtk4\">function</span><span class=\"mtk1\"> () {</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk12\">$ui</span><span class=\"mtk1\"> = </span><span class=\"mtk12\">LoginRadius_SocialLogin</span><span class=\"mtk1\">.</span><span class=\"mtk12\">lr_login_settings</span><span class=\"mtk1\">;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk12\">$ui</span><span class=\"mtk1\">.</span><span class=\"mtk12\">interfacesize</span><span class=\"mtk1\"> = </span><span class=\"mtk8\">&quot;&quot;</span><span class=\"mtk1\">;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk12\">$ui</span><span class=\"mtk1\">.</span><span class=\"mtk12\">apikey</span><span class=\"mtk1\"> = </span><span class=\"mtk8\">&quot;&quot;</span><span class=\"mtk1\">;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk12\">$ui</span><span class=\"mtk1\">.</span><span class=\"mtk12\">callback</span><span class=\"mtk1\">=</span><span class=\"mtk8\">&quot;&quot;</span><span class=\"mtk1\">;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk12\">$ui</span><span class=\"mtk1\">.</span><span class=\"mtk12\">lrinterfacecontainer</span><span class=\"mtk1\"> =</span><span class=\"mtk8\">&quot;interfacecontainerdiv&quot;</span><span class=\"mtk1\">;</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk12\">LoginRadius_SocialLogin</span><span class=\"mtk1\">.</span><span class=\"mtk11\">init</span><span class=\"mtk1\">(</span><span class=\"mtk12\">options</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=\"mtk1\"> </span></span>\n<span class=\"grvsc-line\"><span class=\"mtk4\">function</span><span class=\"mtk1\"> </span><span class=\"mtk11\">Login</span><span class=\"mtk1\">(){</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    </span><span class=\"mtk11\">$</span><span class=\"mtk1\">( </span><span class=\"mtk8\">&quot;#dialog&quot;</span><span class=\"mtk1\"> ).</span><span class=\"mtk11\">dialog</span><span class=\"mtk1\">();</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    </span><span class=\"mtk12\">LoginRadius_SocialLogin</span><span class=\"mtk1\">.</span><span class=\"mtk11\">init</span><span class=\"mtk1\">(</span><span class=\"mtk12\">options</span><span class=\"mtk1\">);</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">}</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\"> </span></span>\n<span class=\"grvsc-line\"><span class=\"mtk12\">LoginRadiusSDK</span><span class=\"mtk1\">.</span><span class=\"mtk11\">setLoginCallback</span><span class=\"mtk1\">(</span><span class=\"mtk12\">Successfullylogin</span><span class=\"mtk1\">);</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk4\">function</span><span class=\"mtk1\"> </span><span class=\"mtk11\">Successfullylogin</span><span class=\"mtk1\">(){</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    </span><span class=\"mtk12\">LoginRadiusSDK</span><span class=\"mtk1\">.</span><span class=\"mtk11\">getUserprofile</span><span class=\"mtk1\">( </span><span class=\"mtk4\">function</span><span class=\"mtk1\">( </span><span class=\"mtk12\">data</span><span class=\"mtk1\">) {</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">        </span><span class=\"mtk11\">$</span><span class=\"mtk1\">( </span><span class=\"mtk8\">&quot;#dialog&quot;</span><span class=\"mtk1\"> ).</span><span class=\"mtk11\">dialog</span><span class=\"mtk1\">(</span><span class=\"mtk8\">&quot;close&quot;</span><span class=\"mtk1\">);</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">        </span><span class=\"mtk12\">document</span><span class=\"mtk1\">.</span><span class=\"mtk11\">getElementById</span><span class=\"mtk1\">(</span><span class=\"mtk8\">&quot;profile&quot;</span><span class=\"mtk1\">).</span><span class=\"mtk12\">innerHTML</span><span class=\"mtk1\"> = </span><span class=\"mtk10\">JSON</span><span class=\"mtk1\">.</span><span class=\"mtk11\">stringify</span><span class=\"mtk1\">(</span><span class=\"mtk12\">data</span><span class=\"mtk1\">);</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">    });</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">}</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\"> </span></span>\n<span class=\"grvsc-line\"><span class=\"mtk12\">Login</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\"> </span></span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\"> </span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">--&gt;</span></span></code></pre>\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 .mtk4 { color: #569CD6; }\n  .dark-default-dark .mtk12 { color: #9CDCFE; }\n  .dark-default-dark .mtk11 { color: #DCDCAA; }\n  .dark-default-dark .mtk8 { color: #CE9178; }\n  .dark-default-dark .mtk10 { color: #4EC9B0; }\n</style>","frontmatter":{"title":"Displaying the LoginRadius interface in a pop-up","author":{"id":"Karl Wittig","github":null,"avatar":null},"date":"November 09, 2015","updated_date":null,"tags":["HTML","Login","UI","LoginRadius Interface"],"coverImage":{"childImageSharp":{"fluid":{"aspectRatio":1,"src":"/static/b457f6215159c9dcc593ccf7c891be5b/e7487/simplepop-150x150.webp","srcSet":"/static/b457f6215159c9dcc593ccf7c891be5b/e7487/simplepop-150x150.webp 150w","sizes":"(max-width: 150px) 100vw, 150px"}}}},"fields":{"authorId":"Karl Wittig","slug":"/engineering/displaying-the-loginradius-interface-in-a-pop-up/"}}},{"node":{"id":"f731b19f-36fd-5ff7-adb6-36798681f830","html":"<p>Integrating social into your site can drastically improve user engagement with your platform. Below are a few useful solutions and implementation instructions.</p>\n<h2 id=\"social-login\" style=\"position:relative;\"><a href=\"#social-login\" aria-label=\"social 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>Social Login</h2>\n<p>Social Login, also known as Social Sign On, Allows you to bypass traditional registration forms and utilize the systems in place by social providers in order to retrieve a copy of the users data and a unique identifier for the user that can be used to identify that user in your system.</p>\n<p>The following guides go over setting up Social Login with a few common Social Providers:<br>\nFacebook: <a href=\"/implement-facebook-social-login/\">How to Implement Facebook Social Login</a><br>\nTwitter: <a href=\"/integrating-twitter-social-login/\">Integrating Twitter Social Login</a><br>\nLinkedIn: <a href=\"/integrate-linkedin-social-login-website/\">Integrating LinkedIn Social Login on a Website</a></p>\n<h2 id=\"social-sharing\" style=\"position:relative;\"><a href=\"#social-sharing\" aria-label=\"social sharing 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>Social Sharing</h2>\n<p>Most major social providers offer an easy tool to formulate and include sharing buttons on your pages. Below is an example of setting up an easy to use social sharing button with Facebook:</p>\n<ol>\n<li>Include the Facebook JavaScript SDK on your page:</li>\n</ol>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"js\" data-index=\"0\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"mtk1\">&lt;!----&gt;</span></span></code></pre>\n<ol start=\"6\">\n<li>\n<p>Next include the div that will contain the sharing button on your page with the following data attributes:</p>\n<ol>\n<li>data-href - Set this to the URL that you want to share.</li>\n<li>data-layout - Set this to one of the following to control the style of button that is displayed:<br>\na. box_count<br>\nb. button_count<br>\nc. button<br>\nd. icon_link<br>\ne. icon<br>\nf. link</li>\n</ol>\n</li>\n</ol>\n<p>Sample Div:</p>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"js\" data-index=\"1\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"mtk1\">&lt;!-- --&gt;</span></span></code></pre>\n<p>You can find information on generating sharing links with other providers in the following locations:<br>\n<a href=\"https://about.twitter.com/resources/buttons\">Twitter</a>  </p>\n<p>Or you can contribute to our open source project on github- <a href=\"https://github.com/social9\">Github-Social9</a></p>\n<h2 id=\"follow-company\" style=\"position:relative;\"><a href=\"#follow-company\" aria-label=\"follow company 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>Follow Company</h2>\n<p>Follow buttons work very much the same as the social sharing buttons above. Simply include the relevant SDK and div with some customizations and users will be able to follow(and un-follow) your brand directly from your page.</p>\n<p>Below is an example of setting up a Twitter follow button:</p>\n<ol>\n<li>Include Twitters JavaScript SDK using their provided script:</li>\n</ol>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"js\" data-index=\"2\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"mtk1\">&lt;!----&gt;</span></span></code></pre>\n<ol start=\"6\">\n<li>Include a link tag in the location that you would like to display your follow button:</li>\n</ol>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"js\" data-index=\"3\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"mtk1\">&lt;!-- </span><span class=\"mtk12\">Follow</span><span class=\"mtk1\"> @</span><span class=\"mtk12\">TwitterDev</span><span class=\"mtk1\"> --&gt;</span></span></code></pre>\n<p>You can set the data attributes in the above link to control various aspects of the follow button.</p>\n<p>Find information on generating follow buttons for other social providers in the following locations:<br>\n<a href=\"https://developers.facebook.com/docs/archive/docs/plugins/follow-button/\">Facebook</a>  </p>\n<h2 id=\"social-linking\" style=\"position:relative;\"><a href=\"#social-linking\" aria-label=\"social linking 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>Social Linking</h2>\n<p>One of the most common and easy to configure social integrations is setting up links to your companies Social profiles.<br>\nAll you need to do is create a link tag on your page:</p>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"js\" data-index=\"4\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"mtk1\">&lt;!--</span><span class=\"mtk12\">Facebook</span><span class=\"mtk1\">--&gt;</span></span></code></pre>\n<p>You can improve upon this by utilizing one of the Social providers branded icons to better display the linking UX. Get a copy of Facebooks Branded Icon.<br>\nYou can store the image locally and include it in the a tag:</p>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"js\" data-index=\"5\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"mtk1\">&lt;!--&lt;</span><span class=\"mtk12\">img</span><span class=\"mtk1\"> </span><span class=\"mtk12\">src</span><span class=\"mtk1\">=</span><span class=\"mtk8\">&quot;&quot;</span><span class=\"mtk1\"> </span><span class=\"mtk12\">alt</span><span class=\"mtk1\">=</span><span class=\"mtk8\">&quot;Facebook&quot;</span><span class=\"mtk1\">&gt; --&gt;</span></span></code></pre>\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>Now that you have setup the above social features your users will have a variety of touch-points to keep them active and interacting with your site, seamlessly driving user conversions and making brand ambassadors of your users.</p>\n<style class=\"grvsc-styles\">\n  .grvsc-container {\n    overflow: auto;\n    -webkit-overflow-scrolling: touch;\n    padding-top: 1rem;\n    padding-top: var(--grvsc-padding-top, var(--grvsc-padding-v, 1rem));\n    padding-bottom: 1rem;\n    padding-bottom: var(--grvsc-padding-bottom, var(--grvsc-padding-v, 1rem));\n    border-radius: 8px;\n    border-radius: var(--grvsc-border-radius, 8px);\n    font-feature-settings: normal;\n  }\n  \n  .grvsc-code {\n    display: inline-block;\n    min-width: 100%;\n  }\n  \n  .grvsc-line {\n    display: inline-block;\n    box-sizing: border-box;\n    width: 100%;\n    padding-left: 1.5rem;\n    padding-left: var(--grvsc-padding-left, var(--grvsc-padding-h, 1.5rem));\n    padding-right: 1.5rem;\n    padding-right: var(--grvsc-padding-right, var(--grvsc-padding-h, 1.5rem));\n  }\n  \n  .grvsc-line-highlighted {\n    background-color: var(--grvsc-line-highlighted-background-color, transparent);\n    box-shadow: inset var(--grvsc-line-highlighted-border-width, 4px) 0 0 0 var(--grvsc-line-highlighted-border-color, transparent);\n  }\n  \n  .dark-default-dark {\n    background-color: #1E1E1E;\n    color: #D4D4D4;\n  }\n  .dark-default-dark .mtk1 { color: #D4D4D4; }\n  .dark-default-dark .mtk12 { color: #9CDCFE; }\n  .dark-default-dark .mtk8 { color: #CE9178; }\n</style>","frontmatter":{"title":"Social Media Solutions","author":{"id":"Karl Wittig","github":null,"avatar":null},"date":"October 08, 2015","updated_date":null,"tags":["Social Media","Social Login"],"coverImage":{"childImageSharp":{"fluid":{"aspectRatio":1.408450704225352,"src":"/static/4cfc9b0367107177ef79aa1662de925a/58556/social-media.webp","srcSet":"/static/4cfc9b0367107177ef79aa1662de925a/61e93/social-media.webp 200w,\n/static/4cfc9b0367107177ef79aa1662de925a/1f5c5/social-media.webp 400w,\n/static/4cfc9b0367107177ef79aa1662de925a/58556/social-media.webp 800w,\n/static/4cfc9b0367107177ef79aa1662de925a/1fb14/social-media.webp 960w","sizes":"(max-width: 800px) 100vw, 800px"}}}},"fields":{"authorId":"Karl Wittig","slug":"/engineering/simple-social-media-solutions/"}}},{"node":{"id":"5d7a6c50-17e5-585a-b90e-34cc8156aaa4","html":"<p>Facebooks Graph API gives you the ability to better understand and target content to your user. In this blog we go over some useful implementations of the Graph API that you can use to pull in user data as well as publish on your users behalf.</p>\n<h2 id=\"getting-your-site-ready\" style=\"position:relative;\"><a href=\"#getting-your-site-ready\" aria-label=\"getting your site ready 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 Your Site Ready</h2>\n<p>The first thing you will need to do is implement an authorization interface that will allow your users to Login with there Facebook credentials and grant access to your application to handle the features that we will go over in this blog.</p>\n<p>You can refer to this article on setting up a Facebook Login integration: <a href=\"https://www.loginradius.com/blog/engineering/implement-facebook-social-login/\">Implement Facebook Social Login</a></p>\n<p>While implementing the Login detailed in the above blog you can modify the scope included in the Facebook button to request the scopes that we will be using.</p>\n<p>Define your Facebook button as follows:</p>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"js\" data-index=\"0\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"mtk1\">&lt;!-- --&gt;</span></span></code></pre>\n<p>This will cause your interface to request additional permissions that may require you to submit your app for review in order for your users to get access to these permissions.</p>\n<h2 id=\"managing-your-users-login-credentials\" style=\"position:relative;\"><a href=\"#managing-your-users-login-credentials\" aria-label=\"managing your users login 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>Managing your users login credentials.</h2>\n<p>After your user has authenticated you can capture the users access token for use in your application or backend systems. During the Facebook login in the function function statusChangeCallback you can check the response for an active Facebook session and store the access token from this object as follows:</p>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"javascript\" data-index=\"1\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"mtk15\">if</span><span class=\"mtk1\"> (</span><span class=\"mtk12\">response</span><span class=\"mtk1\">.</span><span class=\"mtk12\">authResponse</span><span class=\"mtk1\">) { </span><span class=\"mtk4\">var</span><span class=\"mtk1\"> </span><span class=\"mtk12\">access_token</span><span class=\"mtk1\"> = </span><span class=\"mtk12\">FB</span><span class=\"mtk1\">.</span><span class=\"mtk11\">getAuthResponse</span><span class=\"mtk1\">()[</span><span class=\"mtk8\">&#39;accessToken&#39;</span><span class=\"mtk1\">]; }</span></span></code></pre>\n<p>This token is valid for 2 hours by default and can be upgraded to a long lived with a server-side call as detailed here: <a href=\"https://developers.facebook.com/docs/facebook-login/access-tokens#extending\">Access Tokens for Meta Technologies</a></p>\n<p>The long lived token will be valid for 60 days over which you will be able to access the users data or handle actions that they have granted your app permissions.</p>\n<p>If you have stored an access token or long lived token and wish to reinitialize the Facebook JavaScript graph API you can handle this by including the following parameter when making FB.api calls:</p>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"javascript\" data-index=\"2\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"mtk12\">FB</span><span class=\"mtk1\">.</span><span class=\"mtk11\">api</span><span class=\"mtk1\">( </span><span class=\"mtk8\">&#39;/me&#39;</span><span class=\"mtk1\">, </span><span class=\"mtk8\">&#39;get&#39;</span><span class=\"mtk1\">, { </span><span class=\"mtk12\">access_token :</span><span class=\"mtk1\"> </span><span class=\"mtk8\">&#39;access_token_for_some_user_fetched_from_your_database&#39;</span><span class=\"mtk1\"> } );</span></span></code></pre>\n<h2 id=\"\" style=\"position:relative;\"><a href=\"#\" aria-label=\" 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></h2>\n<p>Getting User Data and Specific Fields</p>\n<p>The simplest way to get a copy of the User Profile object is to access the /me endpoint:</p>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"javascript\" data-index=\"3\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"mtk12\">FB</span><span class=\"mtk1\">.</span><span class=\"mtk11\">api</span><span class=\"mtk1\">(</span><span class=\"mtk8\">&#39;/me&#39;</span><span class=\"mtk1\">, </span><span class=\"mtk4\">function</span><span class=\"mtk1\">(</span><span class=\"mtk12\">response</span><span class=\"mtk1\">) { });</span></span></code></pre>\n<p>This will this will return the users name and an ID by default. You can add additional field requests to the me endpoint in order to retrieve further data-points for the user. Below we request the users id, name, age_range, bio, birthday, and email using a stored access-token.</p>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"javascript\" data-index=\"4\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"mtk1\">&lt;!--</span><span class=\"mtk12\">FB</span><span class=\"mtk1\">.</span><span class=\"mtk11\">api</span><span class=\"mtk1\">( </span><span class=\"mtk8\">&#39;/me?fields=id,name,about,age_range,bio,birthday,email&#39;</span><span class=\"mtk1\">, </span><span class=\"mtk8\">&#39;get&#39;</span><span class=\"mtk1\">, { </span><span class=\"mtk12\">access_token :</span><span class=\"mtk1\">  },</span><span class=\"mtk4\">function</span><span class=\"mtk1\">(</span><span class=\"mtk12\">response</span><span class=\"mtk1\">) { </span><span class=\"mtk3\">//Handle Data Here it will arrive in a Json object in the response } );--&gt;</span></span></code></pre>\n<p>There are additional edge cases which can be accessed through the /me endpoint. A full list can be found <a href=\"https://developers.facebook.com/docs/graph-api/reference/user\">here</a>. A below sample details how you can retrieve the videos that the user is tagged in or has uploaded.</p>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"javascript\" data-index=\"5\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"mtk1\">&lt;!--</span><span class=\"mtk12\">FB</span><span class=\"mtk1\">.</span><span class=\"mtk11\">api</span><span class=\"mtk1\">( </span><span class=\"mtk8\">&#39;/me/videos&#39;</span><span class=\"mtk1\">, </span><span class=\"mtk8\">&#39;get&#39;</span><span class=\"mtk1\">, { </span><span class=\"mtk12\">access_token :</span><span class=\"mtk1\">  },</span><span class=\"mtk4\">function</span><span class=\"mtk1\">(</span><span class=\"mtk12\">response</span><span class=\"mtk1\">) { </span><span class=\"mtk3\">//Handle Data Here it will arrive in a Json object in the response } );--&gt;</span></span></code></pre>\n<h2 id=\"-1\" style=\"position:relative;\"><a href=\"#-1\" aria-label=\" 1 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></h2>\n<p>Publishing Content to a Users Wall</p>\n<p>In order to publish content to a users wall you will have to have requested the publish_actions permission during login which we have done in the first part of this article. You can then access the following endpoint to publish a status post to a users wall:</p>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"javascript\" data-index=\"6\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"mtk1\">&lt;!--</span><span class=\"mtk12\">FB</span><span class=\"mtk1\">.</span><span class=\"mtk11\">api</span><span class=\"mtk1\">( </span><span class=\"mtk8\">&#39;/me/feed?message=&#39;</span><span class=\"mtk1\">, </span><span class=\"mtk8\">&#39;Post&#39;</span><span class=\"mtk1\">, { </span><span class=\"mtk12\">access_token :</span><span class=\"mtk1\">  },</span><span class=\"mtk4\">function</span><span class=\"mtk1\">(</span><span class=\"mtk12\">response</span><span class=\"mtk1\">) { </span><span class=\"mtk3\">//Handle Response which will contain a Post ID if successful } );--&gt;</span></span></code></pre>\n<h2 id=\"-2\" style=\"position:relative;\"><a href=\"#-2\" aria-label=\" 2 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></h2>\n<p>Conclusion</p>\n<p>Facebook offers many options to integrate their API into your site and offers a variety of easy to use SDKs for multiple languages. Check out <a href=\"https://developers.facebook.com/docs\">their documentation</a> for details on the various SDKs and additional graph endpoints.</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 .mtk4 { color: #569CD6; }\n  .dark-default-dark .mtk11 { color: #DCDCAA; }\n  .dark-default-dark .mtk8 { color: #CE9178; }\n  .dark-default-dark .mtk3 { color: #6A9955; }\n</style>","frontmatter":{"title":"Using Facebook Graph API After Login","author":{"id":"Karl Wittig","github":null,"avatar":null},"date":"September 29, 2015","updated_date":null,"tags":["Facebook","Graph API"],"coverImage":{"childImageSharp":{"fluid":{"aspectRatio":1,"src":"/static/8622c2fa04e9260ffffdf4635ebfb067/e7487/fb-feat-img-150x150.webp","srcSet":"/static/8622c2fa04e9260ffffdf4635ebfb067/e7487/fb-feat-img-150x150.webp 150w","sizes":"(max-width: 150px) 100vw, 150px"}}}},"fields":{"authorId":"Karl Wittig","slug":"/engineering/using-facebook-graph-api-after-login/"}}},{"node":{"id":"ba05ca69-75de-5daf-876d-8b13a6b7d121","html":"<p>Social sharing button offers an easy way to distribute your content to a wider audience. The major social providers allow options to configure the content that will be shared programmatically. In this guide we explore the options that you can use in order to configure the shared content of your social shares including: Message, URL, Image, and Image Caption/Description.</p>\n<p><strong>Facebook</strong></p>\n<p>Facebook utilizes Open Graph Tags which are meta tags that can be included on your page and are scrapped by Facebook when determining the content that should be shared with a specific button. These tags can be included in the head section of your page. All meta tags should be formatted with a property value of \"og:<tag-name>\", some useful tag names are:</p>\n<ul>\n<li>title- The title of your article.</li>\n<li>type- The media content that is included in the shared article. This is defaulted to \"website\".</li>\n<li>image- The image that will be included in the share.</li>\n<li>url- The canonical URL that will be used to identify the share and aggregate the community shares/likes.</li>\n<li>description- A  brief description that is displayed below the image in the share.</li>\n</ul>\n<p>Example of og meta tags that can be included in your html head tag:</p>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"js\" data-index=\"0\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"mtk1\">&lt;!--</span></span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">--&gt;</span></span></code></pre>\n<p>If you are modifying these tags it can take some time for the changes to translate over to Facebook. You can refer to <a href=\"/social-provider-social-sharing-troubleshooting-resources/\">this blog</a> on troubleshooting, testing, and force updating your configured sharing systems.</p>\n<p><strong>Google</strong></p>\n<p>Google offers multiple ways that you can set the shared content which it intelligently determines the most relevant details to be displayed in the share. This works to varying degrees with the following options available and taking precedence respectively:</p>\n<ul>\n<li>Structured Data Markup- HTML markup detailed on <a href=\"http://schema.org/\">Schema</a>.</li>\n<li>Open Graph Tags- Turn your page into a rich data object, commonly used to customize Facebook sharing details. Information on the markup is available on <a href=\"http://ogp.me/\">OGP</a></li>\n<li>Title or Meta Description- HTML attributes that provide details on the site.</li>\n<li>Google’s best guess- If none of the above are included, Google will crawl your page and try to interpret the most suitable details to include in the share.</li>\n</ul>\n<p>Below is an example of basic structured data markup:</p>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"js\" data-index=\"1\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"mtk1\">&lt;!--</span></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\"> </span><span class=\"mtk12\">Your</span><span class=\"mtk1\"> </span><span class=\"mtk12\">Site</span><span class=\"mtk1\"> </span><span class=\"mtk12\">Title</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=\"mtk1\">    </span><span class=\"mtk12\">A</span><span class=\"mtk1\"> </span><span class=\"mtk12\">description</span><span class=\"mtk1\"> </span><span class=\"mtk4\">of</span><span class=\"mtk1\"> </span><span class=\"mtk12\">your</span><span class=\"mtk1\"> </span><span class=\"mtk12\">site</span><span class=\"mtk1\">.</span></span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">--&gt;</span></span></code></pre>\n<p>Below is an example of using basic meta tags to define the shared content:</p>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"js\" data-index=\"2\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"mtk1\">&lt;!--</span></span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">--&gt;</span></span></code></pre>\n<p><strong>Twitter</strong></p>\n<p>The best way to customize your Twitter shares is to modify the URL query string parameters that gets triggered when the share icon is clicked. Another way is to customize the <code>&#x3C;a></code> tag by including data-attribute tags as detailed on Twitters <a href=\"https://developer.twitter.com/en/docs/twitter-for-websites/tweet-button/overview\">Tweet button creation instructions</a> . If you do not have control over the links or triggers that are being used to activate the Tweet popup you can also set Twitter Card meta tags which handle the Twitter customizations.</p>\n<pre class=\"grvsc-container dark-default-dark\" data-language=\"js\" data-index=\"3\"><code class=\"grvsc-code\"><span class=\"grvsc-line\"><span class=\"mtk1\">&lt;!--</span></span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\"></span>\n<span class=\"grvsc-line\"><span class=\"mtk1\">--&gt;</span></span></code></pre>\n<p>Various providers will utilize some of the above methods with open graph tags being one of the most common methods for controlling the shared content. Other systems will customize this content based off of parameters that are passed into the script or URL that is used to trigger the share interface. Getting these to be correctly configured can be a bit of a trial and error process, you can use the resources detailed in <a href=\"/social-provider-social-sharing-troubleshooting-resources/\">this blog post</a> to help test and verify that you have correctly configured your social sharing content.</p>\n<style class=\"grvsc-styles\">\n  .grvsc-container {\n    overflow: auto;\n    -webkit-overflow-scrolling: touch;\n    padding-top: 1rem;\n    padding-top: var(--grvsc-padding-top, var(--grvsc-padding-v, 1rem));\n    padding-bottom: 1rem;\n    padding-bottom: var(--grvsc-padding-bottom, var(--grvsc-padding-v, 1rem));\n    border-radius: 8px;\n    border-radius: var(--grvsc-border-radius, 8px);\n    font-feature-settings: normal;\n  }\n  \n  .grvsc-code {\n    display: inline-block;\n    min-width: 100%;\n  }\n  \n  .grvsc-line {\n    display: inline-block;\n    box-sizing: border-box;\n    width: 100%;\n    padding-left: 1.5rem;\n    padding-left: var(--grvsc-padding-left, var(--grvsc-padding-h, 1.5rem));\n    padding-right: 1.5rem;\n    padding-right: var(--grvsc-padding-right, var(--grvsc-padding-h, 1.5rem));\n  }\n  \n  .grvsc-line-highlighted {\n    background-color: var(--grvsc-line-highlighted-background-color, transparent);\n    box-shadow: inset var(--grvsc-line-highlighted-border-width, 4px) 0 0 0 var(--grvsc-line-highlighted-border-color, transparent);\n  }\n  \n  .dark-default-dark {\n    background-color: #1E1E1E;\n    color: #D4D4D4;\n  }\n  .dark-default-dark .mtk1 { color: #D4D4D4; }\n  .dark-default-dark .mtk12 { color: #9CDCFE; }\n  .dark-default-dark .mtk4 { color: #569CD6; }\n</style>","frontmatter":{"title":"Configuring Your Social Sharing Buttons","author":{"id":"Karl Wittig","github":null,"avatar":null},"date":"June 09, 2015","updated_date":null,"tags":["SocialSharing"],"coverImage":{"childImageSharp":{"fluid":{"aspectRatio":1,"src":"/static/24799a6bff48ea3ac4e96368c579f88b/403a4/configuring-social-share-buttons-300x300.webp","srcSet":"/static/24799a6bff48ea3ac4e96368c579f88b/61e93/configuring-social-share-buttons-300x300.webp 200w,\n/static/24799a6bff48ea3ac4e96368c579f88b/403a4/configuring-social-share-buttons-300x300.webp 300w","sizes":"(max-width: 300px) 100vw, 300px"}}}},"fields":{"authorId":"Karl Wittig","slug":"/engineering/configuring-social-sharing-buttons/"}}},{"node":{"id":"cf0c0f55-f7ea-5f1f-bc12-70429092ce21","html":"<p><strong>Are you having trouble with accessing API endpoint?</strong>   <strong>Unsure why your API is not returning data?</strong> Most modern browsers have tools or plugins that allows you to quickly and easily test your API calls and see the sample returned data. In this post we go through some tools available for common browsers and web tools that will cut down the total troubleshooting time.</p>\n<h2 id=\"google-chrome\" style=\"position:relative;\"><a href=\"#google-chrome\" aria-label=\"google chrome 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>Google Chrome</h2>\n<p>Chrome offers a wide variety of apps that are quick and easy to install through the <a href=\"https://chrome.google.com/webstore/\">Chrome app webstore</a>. <a href=\"http://www.getpostman.com/\">Postman</a> is one of those app and it offers a very robust REST API testing solution. It allows you to quickly create and format a wide range of API calls, and keeps a record of previously accessed APIs for easy reference and reuse. Postman have an easy to understand interface that allows you to quickly reformat the included parameters, headers, and form data. Returned data can be viewed in multiple different formats depending on your preferences.</p>\n<p>Another added benefit of Postman is its built-in support for common authentication procedures like: Basic Auth, Digest Auth, and OAuth 1.0/2.0. These \"helpers\" allow you to bypass some of the common tasks that can be troublesome in the mentioned protocols such as signing your request(OAuth 1.0) or requesting an Access token(OAuth 2.0).</p>\n<h2 id=\"mozilla-firefox\" style=\"position:relative;\"><a href=\"#mozilla-firefox\" aria-label=\"mozilla firefox 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>Mozilla Firefox</h2>\n<p>Poster or RestClient are both useful tools that allow you to test out your API calls within Mozilla Firefox. They offer many similar systems as Postman, allowing you to set various parts of your API quickly and easily. With built in features to set such as Base URL, Auth method, Timeout, Action, Content, headers, and query parameters; It returns a complete response object allowing you to troubleshoot APIs before integrating them into your systems. Both RestClient and Poster allow you to save your requests for future use.</p>\n<h2 id=\"other-systems\" style=\"position:relative;\"><a href=\"#other-systems\" aria-label=\"other systems 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>Other Systems</h2>\n<p><strong>Runscope:</strong> This is a powerful tool that allows you to set up test cases for your APIs. Which makes it easy for you to not only handle many of the features as described in the above two systems, but to also schedule these requests to perform periodically. This allows you to monitor your APIs and have email notifications sent out when specific conditions are met. You can also mask the API requests to run them from different locations worldwide allowing you to test user cases from a global audience.</p>\n<p><strong>SoapUI:</strong> This is an extremely robust solution that can handle your entire testing environment. It also have built in features to test out RESTful API calls, as well as SOAP calls. This solution is very extensive and has many options that cover the full suite of features detailed in the above technologies. On top of that, they have a well formatted instructions available on their site, detailing how to setup and configure the program.</p>\n<style class=\"grvsc-styles\">\n  .grvsc-container {\n    overflow: auto;\n    -webkit-overflow-scrolling: touch;\n    padding-top: 1rem;\n    padding-top: var(--grvsc-padding-top, var(--grvsc-padding-v, 1rem));\n    padding-bottom: 1rem;\n    padding-bottom: var(--grvsc-padding-bottom, var(--grvsc-padding-v, 1rem));\n    border-radius: 8px;\n    border-radius: var(--grvsc-border-radius, 8px);\n    font-feature-settings: normal;\n  }\n  \n  .grvsc-code {\n    display: inline-block;\n    min-width: 100%;\n  }\n  \n  .grvsc-line {\n    display: inline-block;\n    box-sizing: border-box;\n    width: 100%;\n    padding-left: 1.5rem;\n    padding-left: var(--grvsc-padding-left, var(--grvsc-padding-h, 1.5rem));\n    padding-right: 1.5rem;\n    padding-right: var(--grvsc-padding-right, var(--grvsc-padding-h, 1.5rem));\n  }\n  \n  .grvsc-line-highlighted {\n    background-color: var(--grvsc-line-highlighted-background-color, transparent);\n    box-shadow: inset var(--grvsc-line-highlighted-border-width, 4px) 0 0 0 var(--grvsc-line-highlighted-border-color, transparent);\n  }\n  \n</style>","frontmatter":{"title":"API Debugging Tools","author":{"id":"Karl Wittig","github":null,"avatar":null},"date":"May 26, 2015","updated_date":null,"tags":["Engineering","GoogleChorme","MozilaFirefox","SoupUI","RunScope"],"coverImage":{"childImageSharp":{"fluid":{"aspectRatio":1,"src":"/static/e2aa1e0f5566cdcc1948cf54ce59632d/403a4/api_debugging-tools-300x300.webp","srcSet":"/static/e2aa1e0f5566cdcc1948cf54ce59632d/61e93/api_debugging-tools-300x300.webp 200w,\n/static/e2aa1e0f5566cdcc1948cf54ce59632d/403a4/api_debugging-tools-300x300.webp 300w","sizes":"(max-width: 300px) 100vw, 300px"}}}},"fields":{"authorId":"Karl Wittig","slug":"/engineering/api-debugging-tools/"}}},{"node":{"id":"fe5244d3-8ee0-592e-8678-da198e81a477","html":"<p>Social Sharing is an extremely powerful tool to expand your user base and product recognition, customizing and implementing this to be efficient on your site can be quiet difficult. Most of the most relevant Social Providers have setup testing and troubleshooting tools that can help to identify where you have gone astray. Below is a brief overview of some useful tools that have been setup to assist with implementing custom Social Sharing options.</p>\n<p><strong>Facebook Open Graph Object Debugger</strong></p>\n<p>Setting up custom sharing with Facebook uses Facebook Open Graph meta tags, which are cached on Facebooks end and can lead to some confusion when making updates to your customizations. In order to identify the cached details that are being used for your implementation Facebook provides the <a href=\"https://developers.facebook.com/tools/debug/\">Open Graph Debugger tool</a>. All you need to do is input your sites URL and click on Debug.</p>\n<p><img src=\"/474b101f52af074360977268839c68c9/karlblog1-1_001.webp\" alt=\"karlblog1-1_001\"></p>\n<p>This will then crawl your page and display some useful information on the currently scraped details and warnings and error messages. It also give you the option at this point to refresh this scrapped data with any changes that you have made to our existing cached details.</p>\n<p><strong>Google Structured Data Testing Tool</strong></p>\n<p>Google uses a combination of a few different methods in order to define the customized sharing options:</p>\n<ul>\n<li>Structured Data Markup- HTML markup detailed on <a href=\"http://schema.org/\">Schema.org</a>.</li>\n<li>Open Graph Tags- Turn your page into a rich data object, commonly used to customize Facebook sharing details. Information on the markup is available on <a href=\"http://ogp.me/\">ogp.me</a></li>\n<li>Title or Meta Description- HTML attributes that provide details on the site.</li>\n<li>Googles best guess- If none of the above are included, Google will crawl your page and try to interpret the most suitable details to include in the share.</li>\n</ul>\n<p>The <a href=\"http://www.google.com/webmasters/tools/richsnippets\">structured data testing tool</a> allows you to view what Google has interpreted from your webpage. Start by entering the URL of the page that you are sharing and click on preview.</p>\n<p><img src=\"/e60fd9b18286c26ae0287b8af45dc7c5/karlblog1-2.webp\" alt=\"karlblog1-2\"></p>\n<p>You will be able to view the scrapped data as well as a listing of the meta tags that have been included on the page.</p>\n<p><strong>LinkedIn Share Generator Tool</strong></p>\n<p>LinkedIn also uses Open Graph Tags to determine the content that will be shared with your sharing interface. You can view the relevant tags and details <a href=\"https://developer.linkedin.com/documents/setting-display-tags-shares\">here</a>.</p>\n<p>You can view the details that will be shared by generating out the sharing button on LinkedIn's <a href=\"https://docs.microsoft.com/en-us/linkedin/consumer/integrations/self-serve/plugins/share-plugin\">build a share button tool</a>.</p>\n<p>Insert the URL in the \"URL to be shared field\" and click on Get Code. This will generate a sample share icon in the preview section.</p>\n<p><img src=\"/e161e2c8d08c97b52b9e48e478f736a5/karlblog1-3.webp\" alt=\"karlblog1-3\"></p>\n<p>To test the share functionality click on the generated icon to display the share interface as determined by the provided URL.</p>\n<p><strong>Twitter Button Generator Tool</strong></p>\n<p>Twitter also uses multiple systems to determine the content that will be tweeted by the tweet buttons. The most commonly used meta tags, which allow you to set any of the available customizable fields in your tweet.</p>\n<p>To test the tweet you can use Twitters <a href=\"https://about.twitter.com/resources/buttons\">button generator</a>. Select the \"Share a link\" option under \"Choose a button\".</p>\n<p><img src=\"/91327cd31e54f3ff193809682de046d9/karlblog1-4.webp\" alt=\"karlblog1-4\"></p>\n<p>Input your site URL in the \"share URL\" field, This will cause the Tweet button under \"Preview and code\" to be updated.</p>\n<p>Click on the generated button to see a sample of the Tweet that has be defined by your URL.</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":{"title":"Social Provider Social Sharing Troubleshooting Resources","author":{"id":"Karl Wittig","github":null,"avatar":null},"date":"February 09, 2015","updated_date":null,"tags":["Engineering","SocialSharing","Facebook","Google","LinkedIn"],"coverImage":{"childImageSharp":{"fluid":{"aspectRatio":1.5037593984962405,"src":"/static/93b68aeb2b2537eb1ada887c2289dc4c/58556/social.webp","srcSet":"/static/93b68aeb2b2537eb1ada887c2289dc4c/61e93/social.webp 200w,\n/static/93b68aeb2b2537eb1ada887c2289dc4c/1f5c5/social.webp 400w,\n/static/93b68aeb2b2537eb1ada887c2289dc4c/58556/social.webp 800w,\n/static/93b68aeb2b2537eb1ada887c2289dc4c/99238/social.webp 1200w","sizes":"(max-width: 800px) 100vw, 800px"}}}},"fields":{"authorId":"Karl Wittig","slug":"/engineering/social-provider-social-sharing-troubleshooting-resources/"}}}]},"authorYaml":{"id":"Karl Wittig","bio":"Karl is the AVP of Customer Success at LoginRadius, the industry leading Consumer IAM provider. He thrives in fast paced high tech environments working closely with Customers to overcome complex Identity related challenges as part of their digital transformations. Outside of work, he spends his time with his family in and around Vancouver hiking, snowboarding and exploring.","github":null,"stackoverflow":null,"linkedin":"karlwittig","medium":null,"twitter":null,"avatar":null}},"pageContext":{"id":"Karl Wittig","__params":{"id":"karl-wittig"}}},"staticQueryHashes":["1171199041","1384082988","2100481360","23180105","528864852"]}