{"id":81430,"date":"2024-11-06T10:52:06","date_gmt":"2024-11-06T09:52:06","guid":{"rendered":"https:\/\/www.skaylink.com\/?p=81430"},"modified":"2025-01-15T14:57:27","modified_gmt":"2025-01-15T13:57:27","slug":"vuejs-microsoft-entra-id-seamless-authentication-in-vue-js","status":"publish","type":"post","link":"https:\/\/www.skaylink.com\/en\/insights\/blog\/vuejs-microsoft-entra-id-seamless-authentication-in-vue-js\/","title":{"rendered":"VueJs + Microsoft Entra ID: Seamless authentication in Vue.js"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"81430\" class=\"elementor elementor-81430\" data-elementor-post-type=\"post\">\n\t\t\t\t<div class=\"elementor-element elementor-element-742a5e header-keyvisual-container e-flex e-con-boxed e-con e-parent\" data-id=\"742a5e\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6758e09d elementor-align-left elementor-widget elementor-widget-breadcrumbs\" data-id=\"6758e09d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"breadcrumbs.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<p id=\"breadcrumbs\"><span><span><a href=\"https:\/\/www.skaylink.com\/en\/\">Home<\/a><\/span><\/span><\/p>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-52e85f8f e-con-full e-flex e-con e-child\" data-id=\"52e85f8f\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-75d3ee0e header-keyvisual-content e-con-full e-flex e-con e-child\" data-id=\"75d3ee0e\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3d96368 elementor-widget elementor-widget-image\" data-id=\"3d96368\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"2560\" height=\"1072\" src=\"https:\/\/www.skaylink.com\/wp-content\/uploads\/2024\/10\/AdobeStock_727038151-scaled.jpeg\" class=\"attachment-full size-full wp-image-81483\" alt=\"\" srcset=\"https:\/\/www.skaylink.com\/wp-content\/uploads\/2024\/10\/AdobeStock_727038151-scaled.jpeg 2560w, https:\/\/www.skaylink.com\/wp-content\/uploads\/2024\/10\/AdobeStock_727038151-300x126.jpeg 300w, https:\/\/www.skaylink.com\/wp-content\/uploads\/2024\/10\/AdobeStock_727038151-1024x429.jpeg 1024w, https:\/\/www.skaylink.com\/wp-content\/uploads\/2024\/10\/AdobeStock_727038151-768x321.jpeg 768w, https:\/\/www.skaylink.com\/wp-content\/uploads\/2024\/10\/AdobeStock_727038151-1536x643.jpeg 1536w, https:\/\/www.skaylink.com\/wp-content\/uploads\/2024\/10\/AdobeStock_727038151-2048x857.jpeg 2048w\" sizes=\"(max-width: 2560px) 100vw, 2560px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-691a03ee e-con-full e-flex e-con e-child\" data-id=\"691a03ee\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-26712b11 elementor-widget elementor-widget-text-editor\" data-id=\"26712b11\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Blog<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-42db3da2 elementor-widget elementor-widget-heading\" data-id=\"42db3da2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">VueJs + Microsoft Entra ID: Seamless authentication in Vue.js<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6f3ddb92 elementor-widget elementor-widget-text-editor\" data-id=\"6f3ddb92\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tThis article will provide an overview of all steps required to authenticate users and access protected web APIs.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-39b8015d e-flex e-con-boxed e-con e-parent\" data-id=\"39b8015d\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-13e9e30a e-flex e-con-boxed e-con e-child\" data-id=\"13e9e30a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-47c249de e-flex e-con-boxed e-con e-child\" data-id=\"47c249de\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7d2a168e elementor-widget elementor-widget-text-editor\" data-id=\"7d2a168e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\tNovember 6, 2024\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-4c97c992 e-flex e-con-boxed e-con e-child\" data-id=\"4c97c992\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-40c6ad06 e-flex e-con-boxed e-con e-child\" data-id=\"40c6ad06\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d69502d elementor-author-box--image-valign-middle elementor-widget elementor-widget-author-box\" data-id=\"d69502d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"author-box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-author-box\">\n\t\t\t\t\t\t\t<div  class=\"elementor-author-box__avatar\">\n\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/www.skaylink.com\/wp-content\/uploads\/2024\/02\/cropped-skaylink_favicon_512x512px-300x300-1.webp\" alt=\"Picture of Skaylink\" loading=\"lazy\">\n\t\t\t\t<\/div>\n\t\t\t\n\t\t\t<div class=\"elementor-author-box__text\">\n\t\t\t\t\t\t\t\t\t<div >\n\t\t\t\t\t\t<span class=\"elementor-author-box__name\">\n\t\t\t\t\t\t\tSkaylink\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/div>\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-6f94666e e-flex e-con-boxed e-con e-child\" data-id=\"6f94666e\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-53266ee0 elementor-widget elementor-widget-author-box\" data-id=\"53266ee0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"author-box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-author-box\">\n\t\t\t\n\t\t\t<div class=\"elementor-author-box__text\">\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-530d615e e-flex e-con-boxed e-con e-parent\" data-id=\"530d615e\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-1bfd7b61 e-con-full e-flex e-con e-child\" data-id=\"1bfd7b61\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-393ed6ef elementor-widget elementor-widget-text-editor\" data-id=\"393ed6ef\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>In today\u2019s web development, securing applications is more crucial than ever. This article delves into integrating Microsoft Entra ID (formerly known as Azure Active Directory) with Vue.js applications using the Microsoft Authentication Library (MSAL), providing a robust solution for seamless user authentification and access to protected web APIs.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-306aa5a8 elementor-widget elementor-widget-text-editor\" data-id=\"306aa5a8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h3><strong>What is Vue.js?<\/strong><\/h3><p>Vue.js is a progressive JavaScript framework used for building user interfaces. Its simplicity and flexibility make it a popular choice for developers.<\/p><h3><strong>What is Microsoft Entra ID?<\/strong><\/h3><p>Microsoft Entra ID is Microsoft&#8217;s cloud-based identity and access management service, enabling users to sign in and access resources securely.<\/p><h3><strong>Overview of MSAL<\/strong><\/h3><p>The Microsoft Authentication Library (MSAL) eases authentication to Entra ID and other Microsoft accounts. It simplifies the process of handling user authentication and token management.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e07d43f elementor-widget elementor-widget-heading\" data-id=\"e07d43f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Setting up Entra ID for a Vue.js application<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-94025a5 elementor-widget elementor-widget-text-editor\" data-id=\"94025a5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>To begin, you&#8217;ll need to configure your Vue.js application to work with Entra ID through the Azure Portal. This process involves registering your application as a Single Page App and obtaining two key pieces of information: the Tenant ID and Client ID. These identifiers are essential for setting up the connection between your application and Entra ID.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f65093a elementor-widget elementor-widget-heading\" data-id=\"f65093a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Integrating MSAL into Vue.js<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2f5fad2 elementor-widget elementor-widget-text-editor\" data-id=\"2f5fad2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><strong>Step 1 \u2013 Install MSAL library:<\/strong> Execute the command \u201cnpm install @azure\/msal-browser\u201c to integrate the MSAL library into your Vue.js project.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-daa4ad8 elementor-widget elementor-widget-text-editor\" data-id=\"daa4ad8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><strong>Step 2 \u2013 Configure the MSAL instance:<\/strong> Create a new instance of PublicClientApplication with your Entra ID application details. This includes providing the Client ID and authority that come from your Entra ID application configuration.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4c593ee elementor-widget elementor-widget-image\" data-id=\"4c593ee\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"800\" height=\"207\" src=\"https:\/\/www.skaylink.com\/wp-content\/uploads\/2024\/10\/Bild1-1024x265.png\" class=\"attachment-large size-large wp-image-81435\" alt=\"\" srcset=\"https:\/\/www.skaylink.com\/wp-content\/uploads\/2024\/10\/Bild1-1024x265.png 1024w, https:\/\/www.skaylink.com\/wp-content\/uploads\/2024\/10\/Bild1-300x78.png 300w, https:\/\/www.skaylink.com\/wp-content\/uploads\/2024\/10\/Bild1-768x199.png 768w, https:\/\/www.skaylink.com\/wp-content\/uploads\/2024\/10\/Bild1.png 1430w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-96f8afe elementor-widget elementor-widget-text-editor\" data-id=\"96f8afe\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><strong>Step 3 \u2013\u00a0<\/strong><strong>Set up the login flow:<\/strong> Implement functions to start the login process, either through a redirect or a popup, using msalInstance.loginRedirect() or msalInstance.loginPopup().<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-82fdaa2 elementor-widget elementor-widget-text-editor\" data-id=\"82fdaa2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><strong>Step 4 \u2013\u00a0<\/strong><strong>Retrieve the authentication status and user profile:<\/strong> After successfully logging in, you can query the authentication status and user profile to confirm that the user is logged in.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-aedcb00 elementor-widget elementor-widget-image\" data-id=\"aedcb00\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"800\" height=\"78\" src=\"https:\/\/www.skaylink.com\/wp-content\/uploads\/2024\/10\/Bild2-1024x100.png\" class=\"attachment-large size-large wp-image-81440\" alt=\"\" srcset=\"https:\/\/www.skaylink.com\/wp-content\/uploads\/2024\/10\/Bild2-1024x100.png 1024w, https:\/\/www.skaylink.com\/wp-content\/uploads\/2024\/10\/Bild2-300x29.png 300w, https:\/\/www.skaylink.com\/wp-content\/uploads\/2024\/10\/Bild2-768x75.png 768w, https:\/\/www.skaylink.com\/wp-content\/uploads\/2024\/10\/Bild2.png 1430w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f24e8e6 elementor-widget elementor-widget-text-editor\" data-id=\"f24e8e6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><strong>Step 5 \u2013\u00a0<\/strong><strong>Access to protected resources:<\/strong> Use the access token to access protected resources by including it in the authorization header for API requests. You can renew and retrieve the token with msalInstance.acquireTokenSilent().<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c7e4c4e elementor-widget elementor-widget-image\" data-id=\"c7e4c4e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"368\" src=\"https:\/\/www.skaylink.com\/wp-content\/uploads\/2024\/10\/Bild3-1024x471.png\" class=\"attachment-large size-large wp-image-81442\" alt=\"\" srcset=\"https:\/\/www.skaylink.com\/wp-content\/uploads\/2024\/10\/Bild3-1024x471.png 1024w, https:\/\/www.skaylink.com\/wp-content\/uploads\/2024\/10\/Bild3-300x138.png 300w, https:\/\/www.skaylink.com\/wp-content\/uploads\/2024\/10\/Bild3-768x353.png 768w, https:\/\/www.skaylink.com\/wp-content\/uploads\/2024\/10\/Bild3.png 1430w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f2e883d elementor-widget elementor-widget-text-editor\" data-id=\"f2e883d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><strong>Step 6 \u2013\u00a0<\/strong><strong>Implement the logout process:<\/strong> Add a function to log users out and end their session by using msalInstance.logout().<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-df2cf6f elementor-widget elementor-widget-heading\" data-id=\"df2cf6f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Security best practices<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0294626 elementor-widget elementor-widget-text-editor\" data-id=\"0294626\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Ensuring the security of your application is of key importance. This section covers some best practices:<\/p><ol><li><strong>Use HTTPS:<\/strong> Always serve your Vue.js application over HTTPS to ensure that all communication between the client and server is encrypted.<\/li><li><strong>Store your tokens securely:<\/strong> Avoid storing tokens in local storage due to the risk of Cross-Site-Scripting (XSS). Consider using session storage or in-memory storage mechanisms that are less vulnerable to XSS attacks.<\/li><li><strong>Validate tokens on the server<\/strong>: MSAL handles client-side authentication, but you should still ensure that tokens are validated on the server side to confirm their authenticity and integrity.<\/li><li><strong>Limit token lifespan:<\/strong> Use short-lived tokens to reduce the risk of token theft and misuse. Entra ID allows you to configure token lifespans according to your security requirements.<\/li><li><strong>Implement logging and monitoring:<\/strong> To help you quickly identify and respond to security threats, use Azure&#8217;s monitoring tools to keep an eye on authentication attempts, successes, and failures.<\/li><\/ol>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-853c56b elementor-widget elementor-widget-heading\" data-id=\"853c56b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Common pitfalls and how to solve them<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0b1857c elementor-widget elementor-widget-text-editor\" data-id=\"0b1857c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>In case developers encounter issues, here are some common problems and their solutions:<\/p><ol><li><strong>Misconfigured Entra ID application:<\/strong> Ensure that your Entra ID application&#8217;s redirect URIs are correctly configured. Mismatched URIs are a common cause of authentication failures.<\/li><li><strong>Token acquisition failures:<\/strong> Token acquisition issues can often arise from expired tokens or communication errors. Implement retry logic for acquireTokenSilent() method calls and consider using acquireTokenPopup() as a fallback method when silent acquisition fails.<\/li><li><strong>CORS errors:<\/strong> Cross-Origin Resource Sharing (CORS) errors can occur if your Entra ID application is not correctly configured to allow requests from your Vue.js application&#8217;s domain. Ensure that your application&#8217;s CORS settings in Entra ID include your domain.<\/li><\/ol>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b90c849 elementor-widget elementor-widget-text-editor\" data-id=\"b90c849\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Integrating Entra ID authentication into your Vue.js application using MSAL enhances the security and user experience of your web applications. By following these steps, you can establish a robust authentication system that protects application and its users. While the process involves several technical steps, each contributes to building a secure and efficient authentication flow. Stay informed about security best practices and be prepared to troubleshoot common issues to maintain a secure environment for your users.<\/p>\n<p><a href=\"https:\/\/www.skaylink.com\/en\/contact\/\">For more information, contact our experts here!<\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-7f363fe8 e-con-full e-flex e-con e-parent\" data-id=\"7f363fe8\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;gradient&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-65bd524d e-flex e-con-boxed e-con e-child\" data-id=\"65bd524d\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-e524705 e-con-full e-flex e-con e-child\" data-id=\"e524705\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3ae2a1c4 elementor-widget elementor-widget-heading\" data-id=\"3ae2a1c4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">These articles might interest you<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-2bc17a66 e-con-full e-flex e-con e-child\" data-id=\"2bc17a66\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6c347154 elementor-hidden-desktop elementor-hidden-tablet_extra elementor-hidden-tablet elementor-hidden-mobile elementor-widget elementor-widget-button\" data-id=\"6c347154\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"#\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t<span class=\"elementor-button-icon\">\n\t\t\t\t<i aria-hidden=\"true\" class=\"skaylinkicon- skaylink-icon-arrow\"><\/i>\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Text Medium Semibold<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-4b61ded3 e-flex e-con-boxed e-con e-child\" data-id=\"4b61ded3\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6bb4f480 elementor-grid-tablet-1 elementor-grid-3 elementor-grid-mobile-1 elementor-widget elementor-widget-loop-grid\" data-id=\"6bb4f480\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;template_id&quot;:68968,&quot;columns_tablet&quot;:1,&quot;_skin&quot;:&quot;post&quot;,&quot;columns&quot;:&quot;3&quot;,&quot;columns_mobile&quot;:&quot;1&quot;,&quot;edit_handle_selector&quot;:&quot;[data-elementor-type=\\&quot;loop-item\\&quot;]&quot;,&quot;row_gap&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;row_gap_tablet_extra&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;row_gap_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;row_gap_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]}}\" data-widget_type=\"loop-grid.post\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-loop-container elementor-grid\" role=\"list\">\n\t\t<style id=\"loop-68968\">.elementor-68968 .elementor-element.elementor-element-e92910f{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-68968 .elementor-element.elementor-element-b8092e6{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:65%;--padding-bottom:0%;--padding-left:0%;--padding-right:0%;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );text-decoration:var( --e-global-typography-text-text-decoration );line-height:var( --e-global-typography-text-line-height );}.elementor-68968 .elementor-element.elementor-element-aed71e3 img{width:100%;max-width:100%;height:100%;object-fit:cover;object-position:center center;}.elementor-68968 .elementor-element.elementor-element-aed71e3{width:100%;max-width:100%;top:0px;}.elementor-68968 .elementor-element.elementor-element-aed71e3.elementor-element{--align-self:stretch;--flex-grow:1;--flex-shrink:0;}body:not(.rtl) .elementor-68968 .elementor-element.elementor-element-aed71e3{left:0px;}body.rtl .elementor-68968 .elementor-element.elementor-element-aed71e3{right:0px;}.elementor-widget-post-info .elementor-icon-list-item:not(:last-child):after{border-color:var( --e-global-color-text );}.elementor-widget-post-info .elementor-icon-list-icon i{color:var( --e-global-color-primary );}.elementor-widget-post-info .elementor-icon-list-icon svg{fill:var( --e-global-color-primary );}.elementor-widget-post-info .elementor-icon-list-text, .elementor-widget-post-info .elementor-icon-list-text a{color:var( --e-global-color-secondary );}.elementor-widget-post-info .elementor-icon-list-item{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );text-decoration:var( --e-global-typography-text-text-decoration );line-height:var( --e-global-typography-text-line-height );}.elementor-68968 .elementor-element.elementor-element-967fd1e .elementor-icon-list-icon{width:14px;}.elementor-68968 .elementor-element.elementor-element-967fd1e .elementor-icon-list-icon i{font-size:14px;}.elementor-68968 .elementor-element.elementor-element-967fd1e .elementor-icon-list-icon svg{--e-icon-list-icon-size:14px;}.elementor-68968 .elementor-element.elementor-element-967fd1e .elementor-icon-list-text, .elementor-68968 .elementor-element.elementor-element-967fd1e .elementor-icon-list-text a{color:var( --e-global-color-c37e4b1 );}.elementor-68968 .elementor-element.elementor-element-967fd1e .elementor-icon-list-item{font-family:\"Neue Montreal\", Sans-serif;font-size:0;font-weight:500;text-decoration:none;line-height:1.57em;}.elementor-68968 .elementor-element.elementor-element-967fd1e{width:auto;max-width:auto;}.elementor-68968 .elementor-element.elementor-element-967fd1e > .elementor-widget-container{border-style:solid;border-width:0px 0px 0px 0px;border-radius:8px 8px 8px 8px;}.elementor-widget-theme-post-title .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-68968 .elementor-element.elementor-element-d469bbe .elementor-heading-title{font-family:var( --e-global-typography-9ada961-font-family ), Sans-serif;font-size:var( --e-global-typography-9ada961-font-size );font-weight:var( --e-global-typography-9ada961-font-weight );text-decoration:var( --e-global-typography-9ada961-text-decoration );line-height:var( --e-global-typography-9ada961-line-height );letter-spacing:var( --e-global-typography-9ada961-letter-spacing );word-spacing:var( --e-global-typography-9ada961-word-spacing );color:var( --e-global-color-text );}.elementor-widget-theme-post-excerpt .elementor-widget-container{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );text-decoration:var( --e-global-typography-text-text-decoration );line-height:var( --e-global-typography-text-line-height );color:var( --e-global-color-text );}.elementor-widget-button .elementor-button{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );line-height:var( --e-global-typography-accent-line-height );background-color:var( --e-global-color-accent );}.elementor-68968 .elementor-element.elementor-element-520396d .elementor-button-content-wrapper{flex-direction:row-reverse;}.elementor-68968 .elementor-element.elementor-element-520396d .elementor-button .elementor-button-content-wrapper{gap:10px;}.elementor-68968 .elementor-element.elementor-element-520396d .elementor-button{font-family:var( --e-global-typography-019d6db-font-family ), Sans-serif;font-size:var( --e-global-typography-019d6db-font-size );font-weight:var( --e-global-typography-019d6db-font-weight );text-decoration:var( --e-global-typography-019d6db-text-decoration );line-height:var( --e-global-typography-019d6db-line-height );letter-spacing:var( --e-global-typography-019d6db-letter-spacing );word-spacing:var( --e-global-typography-019d6db-word-spacing );fill:var( --e-global-color-primary );color:var( --e-global-color-primary );background-color:#00000000;border-style:none;border-radius:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-68968 .elementor-element.elementor-element-520396d .elementor-button:hover, .elementor-68968 .elementor-element.elementor-element-520396d .elementor-button:focus{color:#C22A16;}.elementor-68968 .elementor-element.elementor-element-520396d .elementor-button:hover svg, .elementor-68968 .elementor-element.elementor-element-520396d .elementor-button:focus svg{fill:#C22A16;}@media(max-width:992px){.elementor-68968 .elementor-element.elementor-element-e92910f{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-post-info .elementor-icon-list-item{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-68968 .elementor-element.elementor-element-d469bbe .elementor-heading-title{font-size:var( --e-global-typography-9ada961-font-size );line-height:var( --e-global-typography-9ada961-line-height );letter-spacing:var( --e-global-typography-9ada961-letter-spacing );word-spacing:var( --e-global-typography-9ada961-word-spacing );}.elementor-widget-theme-post-excerpt .elementor-widget-container{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-68968 .elementor-element.elementor-element-520396d .elementor-button{font-size:var( --e-global-typography-019d6db-font-size );line-height:var( --e-global-typography-019d6db-line-height );letter-spacing:var( --e-global-typography-019d6db-letter-spacing );word-spacing:var( --e-global-typography-019d6db-word-spacing );}}@media(max-width:576px){.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-post-info .elementor-icon-list-item{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-68968 .elementor-element.elementor-element-d469bbe .elementor-heading-title{font-size:var( --e-global-typography-9ada961-font-size );line-height:var( --e-global-typography-9ada961-line-height );letter-spacing:var( --e-global-typography-9ada961-letter-spacing );word-spacing:var( --e-global-typography-9ada961-word-spacing );}.elementor-widget-theme-post-excerpt .elementor-widget-container{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-widget-button .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-68968 .elementor-element.elementor-element-520396d .elementor-button{font-size:var( --e-global-typography-019d6db-font-size );line-height:var( --e-global-typography-019d6db-line-height );letter-spacing:var( --e-global-typography-019d6db-letter-spacing );word-spacing:var( --e-global-typography-019d6db-word-spacing );}}@media(min-width:577px){.elementor-68968 .elementor-element.elementor-element-b8092e6{--width:100%;}}\/* Start custom CSS for image, class: .elementor-element-aed71e3 *\/.elementor-68968 .elementor-element.elementor-element-aed71e3 {\n    height: 100%\n}\/* End custom CSS *\/\n\/* Start custom CSS for post-info, class: .elementor-element-967fd1e *\/.elementor-68968 .elementor-element.elementor-element-967fd1e .elementor-post-info__terms-list-item {\n    border-radius: 8px;\n    padding: 5px 16px;\n    border: 1px solid #5D5D5E;\n    font-size: 14px;\n    margin-right: 5px;\n    display: block;\n    line-height: 1.125rem;\n}\n\n.elementor-68968 .elementor-element.elementor-element-967fd1e a.elementor-post-info__terms-list-item:hover {\n    background-color: #D1D1D1;\n}\/* End custom CSS *\/\n\/* Start custom CSS for container, class: .elementor-element-e92910f *\/.elementor-68968 .elementor-element.elementor-element-e92910f a {\n    text-decoration: none;\n}\/* End custom CSS *\/<\/style>\t\t<div data-elementor-type=\"loop-item\" data-elementor-id=\"68968\" class=\"elementor elementor-68968 elementor-57152 elementor-57152 e-loop-item e-loop-item-92161 post-92161 post type-post status-publish format-standard has-post-thumbnail hentry category-case-studies tag-aws\" data-elementor-post-type=\"elementor_library\" data-custom-edit-handle=\"1\">\n\t\t\t<div class=\"elementor-element elementor-element-e92910f e-flex e-con-boxed e-con e-parent\" data-id=\"e92910f\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-b8092e6 e-con-full e-flex e-con e-child\" data-id=\"b8092e6\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-aed71e3 elementor-widget__width-inherit elementor-absolute elementor-widget elementor-widget-image\" data-id=\"aed71e3\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_position&quot;:&quot;absolute&quot;}\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"534\" src=\"https:\/\/www.skaylink.com\/wp-content\/uploads\/2026\/03\/MG_5973-johanna-lohr-fotografie-skaylink-1024x683.jpg\" class=\"attachment-large size-large wp-image-92171\" alt=\"\" srcset=\"https:\/\/www.skaylink.com\/wp-content\/uploads\/2026\/03\/MG_5973-johanna-lohr-fotografie-skaylink-1024x683.jpg 1024w, https:\/\/www.skaylink.com\/wp-content\/uploads\/2026\/03\/MG_5973-johanna-lohr-fotografie-skaylink-300x200.jpg 300w, https:\/\/www.skaylink.com\/wp-content\/uploads\/2026\/03\/MG_5973-johanna-lohr-fotografie-skaylink-768x512.jpg 768w, https:\/\/www.skaylink.com\/wp-content\/uploads\/2026\/03\/MG_5973-johanna-lohr-fotografie-skaylink-1536x1024.jpg 1536w, https:\/\/www.skaylink.com\/wp-content\/uploads\/2026\/03\/MG_5973-johanna-lohr-fotografie-skaylink.jpg 1620w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-967fd1e elementor-widget__width-auto js-remove-commas elementor-widget elementor-widget-post-info\" data-id=\"967fd1e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"post-info.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<ul class=\"elementor-inline-items elementor-icon-list-items elementor-post-info\">\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item elementor-repeater-item-e7d862b elementor-inline-item\" itemprop=\"about\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-terms\">\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-post-info__terms-list\">\n\t\t\t\t<span class=\"elementor-post-info__terms-list-item\">Case studies<\/span>\t\t\t\t<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t<\/ul>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d469bbe elementor-widget elementor-widget-theme-post-title elementor-page-title elementor-widget-heading\" data-id=\"d469bbe\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"theme-post-title.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h5 class=\"elementor-heading-title elementor-size-default\"><a href=\"https:\/\/www.skaylink.com\/en\/case-studies\/ibelsa\/\">Hotel software provider ibelsa achieves better scalability and enhanced security with Skaylink on AWS<\/a><\/h5>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a751a9d elementor-widget elementor-widget-theme-post-excerpt\" data-id=\"a751a9d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"theme-post-excerpt.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\tLearn how hotel property management system ibelsa gained better scalability, lower costs, and improved security.\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-520396d elementor-widget elementor-widget-button\" data-id=\"520396d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"https:\/\/www.skaylink.com\/en\/case-studies\/ibelsa\/\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t<span class=\"elementor-button-icon\">\n\t\t\t\t<i aria-hidden=\"true\" class=\"skaylinkicon- skaylink-icon-arrow\"><\/i>\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Read more<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div data-elementor-type=\"loop-item\" data-elementor-id=\"68968\" class=\"elementor elementor-68968 elementor-57152 elementor-57152 e-loop-item e-loop-item-92224 post-92224 post type-post status-publish format-standard has-post-thumbnail hentry category-case-studies tag-microsoft tag-security\" data-elementor-post-type=\"elementor_library\" data-custom-edit-handle=\"1\">\n\t\t\t<div class=\"elementor-element elementor-element-e92910f e-flex e-con-boxed e-con e-parent\" data-id=\"e92910f\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-b8092e6 e-con-full e-flex e-con e-child\" data-id=\"b8092e6\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-aed71e3 elementor-widget__width-inherit elementor-absolute elementor-widget elementor-widget-image\" data-id=\"aed71e3\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_position&quot;:&quot;absolute&quot;}\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"533\" src=\"https:\/\/www.skaylink.com\/wp-content\/uploads\/2026\/02\/STABILO_Produktion_BOSS-ORIGINAL-1-1024x682.jpg\" class=\"attachment-large size-large wp-image-91644\" alt=\"\" srcset=\"https:\/\/www.skaylink.com\/wp-content\/uploads\/2026\/02\/STABILO_Produktion_BOSS-ORIGINAL-1-1024x682.jpg 1024w, https:\/\/www.skaylink.com\/wp-content\/uploads\/2026\/02\/STABILO_Produktion_BOSS-ORIGINAL-1-300x200.jpg 300w, https:\/\/www.skaylink.com\/wp-content\/uploads\/2026\/02\/STABILO_Produktion_BOSS-ORIGINAL-1-768x512.jpg 768w, https:\/\/www.skaylink.com\/wp-content\/uploads\/2026\/02\/STABILO_Produktion_BOSS-ORIGINAL-1-1536x1024.jpg 1536w, https:\/\/www.skaylink.com\/wp-content\/uploads\/2026\/02\/STABILO_Produktion_BOSS-ORIGINAL-1.jpg 2000w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-967fd1e elementor-widget__width-auto js-remove-commas elementor-widget elementor-widget-post-info\" data-id=\"967fd1e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"post-info.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<ul class=\"elementor-inline-items elementor-icon-list-items elementor-post-info\">\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item elementor-repeater-item-e7d862b elementor-inline-item\" itemprop=\"about\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-terms\">\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-post-info__terms-list\">\n\t\t\t\t<span class=\"elementor-post-info__terms-list-item\">Case studies<\/span>\t\t\t\t<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t<\/ul>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d469bbe elementor-widget elementor-widget-theme-post-title elementor-page-title elementor-widget-heading\" data-id=\"d469bbe\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"theme-post-title.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h5 class=\"elementor-heading-title elementor-size-default\"><a href=\"https:\/\/www.skaylink.com\/en\/case-studies\/stabilo\/\">Professional backup for your IT security<\/a><\/h5>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a751a9d elementor-widget elementor-widget-theme-post-excerpt\" data-id=\"a751a9d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"theme-post-excerpt.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\tSTABILO relies on Skaylink\u2019s Cyber Security Center \u2013 a Managed SOC solution that provides reliable 24\/7\u00a0protection for cloud infrastructure.\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-520396d elementor-widget elementor-widget-button\" data-id=\"520396d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"https:\/\/www.skaylink.com\/en\/case-studies\/stabilo\/\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t<span class=\"elementor-button-icon\">\n\t\t\t\t<i aria-hidden=\"true\" class=\"skaylinkicon- skaylink-icon-arrow\"><\/i>\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Read more<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div data-elementor-type=\"loop-item\" data-elementor-id=\"68968\" class=\"elementor elementor-68968 elementor-57152 elementor-57152 e-loop-item e-loop-item-92006 post-92006 post type-post status-publish format-standard has-post-thumbnail hentry category-case-studies tag-microsoft tag-modern-work\" data-elementor-post-type=\"elementor_library\" data-custom-edit-handle=\"1\">\n\t\t\t<div class=\"elementor-element elementor-element-e92910f e-flex e-con-boxed e-con e-parent\" data-id=\"e92910f\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-b8092e6 e-con-full e-flex e-con e-child\" data-id=\"b8092e6\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-aed71e3 elementor-widget__width-inherit elementor-absolute elementor-widget elementor-widget-image\" data-id=\"aed71e3\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_position&quot;:&quot;absolute&quot;}\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"546\" src=\"https:\/\/www.skaylink.com\/wp-content\/uploads\/2026\/02\/StWN-Konzern-1024x699.jpg\" class=\"attachment-large size-large wp-image-91712\" alt=\"(\u00a9 StWN, Claus Felix\" srcset=\"https:\/\/www.skaylink.com\/wp-content\/uploads\/2026\/02\/StWN-Konzern-1024x699.jpg 1024w, https:\/\/www.skaylink.com\/wp-content\/uploads\/2026\/02\/StWN-Konzern-300x205.jpg 300w, https:\/\/www.skaylink.com\/wp-content\/uploads\/2026\/02\/StWN-Konzern-768x524.jpg 768w, https:\/\/www.skaylink.com\/wp-content\/uploads\/2026\/02\/StWN-Konzern.jpg 1366w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-967fd1e elementor-widget__width-auto js-remove-commas elementor-widget elementor-widget-post-info\" data-id=\"967fd1e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"post-info.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<ul class=\"elementor-inline-items elementor-icon-list-items elementor-post-info\">\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item elementor-repeater-item-e7d862b elementor-inline-item\" itemprop=\"about\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-terms\">\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-post-info__terms-list\">\n\t\t\t\t<span class=\"elementor-post-info__terms-list-item\">Case studies<\/span>\t\t\t\t<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t<\/ul>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d469bbe elementor-widget elementor-widget-theme-post-title elementor-page-title elementor-widget-heading\" data-id=\"d469bbe\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"theme-post-title.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h5 class=\"elementor-heading-title elementor-size-default\"><a href=\"https:\/\/www.skaylink.com\/en\/case-studies\/user-centricity-stwn-group\/\">The StWN Group focuses on users: That\u2019s what modern work is all about!<\/a><\/h5>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a751a9d elementor-widget elementor-widget-theme-post-excerpt\" data-id=\"a751a9d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"theme-post-excerpt.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\tSkaylink helped the municipal utility St\u00e4dtische Werke N\u00fcrnberg (StWN) along its way towards creating a state-of-the-art, highly secure work environment.\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-520396d elementor-widget elementor-widget-button\" data-id=\"520396d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"https:\/\/www.skaylink.com\/en\/case-studies\/user-centricity-stwn-group\/\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t<span class=\"elementor-button-icon\">\n\t\t\t\t<i aria-hidden=\"true\" class=\"skaylinkicon- skaylink-icon-arrow\"><\/i>\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Read more<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>This article will provide an overview of all steps required to authenticate users and access protected web APIs.<\/p>\n","protected":false},"author":23,"featured_media":81483,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[100],"tags":[173,174],"class_list":["post-81430","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog","tag-development","tag-microsoft"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.skaylink.com\/en\/wp-json\/wp\/v2\/posts\/81430","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.skaylink.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.skaylink.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.skaylink.com\/en\/wp-json\/wp\/v2\/users\/23"}],"replies":[{"embeddable":true,"href":"https:\/\/www.skaylink.com\/en\/wp-json\/wp\/v2\/comments?post=81430"}],"version-history":[{"count":28,"href":"https:\/\/www.skaylink.com\/en\/wp-json\/wp\/v2\/posts\/81430\/revisions"}],"predecessor-version":[{"id":83467,"href":"https:\/\/www.skaylink.com\/en\/wp-json\/wp\/v2\/posts\/81430\/revisions\/83467"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.skaylink.com\/en\/wp-json\/wp\/v2\/media\/81483"}],"wp:attachment":[{"href":"https:\/\/www.skaylink.com\/en\/wp-json\/wp\/v2\/media?parent=81430"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.skaylink.com\/en\/wp-json\/wp\/v2\/categories?post=81430"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.skaylink.com\/en\/wp-json\/wp\/v2\/tags?post=81430"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}