{"id":57528,"date":"2025-04-28T00:21:15","date_gmt":"2025-04-27T22:21:15","guid":{"rendered":"https:\/\/proid.cz\/?p=57528"},"modified":"2025-09-26T00:19:45","modified_gmt":"2025-09-25T22:19:45","slug":"multi-factor-authentication-to-keycloak","status":"publish","type":"post","link":"https:\/\/proid.cz\/en\/multi-factor-authentication-to-keycloak\/","title":{"rendered":"Multi-factor Authentication to Keycloak"},"content":{"rendered":"<p>[vc_row type=&#8221;vc_default&#8221;][vc_column][vc_empty_space height=&#8221;60&#8243;][vc_row_inner equal_height=&#8221;yes&#8221; content_placement=&#8221;middle&#8221; gap=&#8221;10&#8243;][vc_column_inner width=&#8221;1\/2&#8243;][vc_empty_space height=&#8221;40&#8243;][vc_column_text]<\/p>\n<h4 style=\"color: #5728ff;\">Integration<\/h4>\n<p>[\/vc_column_text][vc_column_text]<\/p>\n<h1>Passwordless &amp; biometric authentication for Keycloak<\/h1>\n<p>[\/vc_column_text][vc_column_text]Enable secure and seamless login to your applications with ProID for Keycloak. Our OIDC based integration replaces vulnerable <strong>TOTP<\/strong> codes with <strong>Biometric and Passwordless Authentication<\/strong>, ensuring only trusted users can access your critical systems.[\/vc_column_text][vc_empty_space height=&#8221;10&#8243;]<style type=\"text\/css\" data-type=\"the7_shortcodes-inline-css\">#default-btn-f84d5de532e316ddd3cabc44d11185b3.ico-right-side > i {\n  margin-right: 0px;\n  margin-left: 8px;\n}\n#default-btn-f84d5de532e316ddd3cabc44d11185b3 > i {\n  margin-right: 8px;\n}\n<\/style><div class=\"btn-align-left\"><a href=\"https:\/\/calendar.app.google\/d9ZKDAVtCvZ9yMRcA\" class=\"default-btn-shortcode dt-btn dt-btn-l link-hover-off \" target=\"_blank\" id=\"default-btn-f84d5de532e316ddd3cabc44d11185b3\" rel=\"noopener\"><span>Book meeting<\/span><\/a><\/div>[vc_empty_space height=&#8221;20&#8243;][\/vc_column_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_empty_space height=&#8221;20&#8243;][vc_single_image image=&#8221;57982&#8243; img_size=&#8221;full&#8221; alignment=&#8221;center&#8221; image_hovers=&#8221;false&#8221;][\/vc_column_inner][\/vc_row_inner][vc_row_inner][vc_column_inner width=&#8221;1\/3&#8243;][\/vc_column_inner][vc_column_inner width=&#8221;1\/3&#8243; css=&#8221;.vc_custom_1690367877540{padding: 20px !important;}&#8221;][\/vc_column_inner][vc_column_inner width=&#8221;1\/3&#8243;][\/vc_column_inner][\/vc_row_inner][vc_empty_space height=&#8221;30&#8243;][\/vc_column][\/vc_row][vc_row type=&#8221;vc_default&#8221; gap=&#8221;20&#8243; equal_height=&#8221;yes&#8221; content_placement=&#8221;middle&#8221;][vc_column width=&#8221;1\/5&#8243;]<style type=\"text\/css\" data-type=\"the7_shortcodes-inline-css\">#default-btn-7c3fc57c92d47fbb32c9dd16c2a42e0c {\n  font-size: 18px;\n  line-height: 20px;\n  padding: 4px 0px 4px 0px;\n}\n#default-btn-7c3fc57c92d47fbb32c9dd16c2a42e0c.ico-right-side > i {\n  margin-right: 0px;\n  margin-left: 8px;\n}\n#default-btn-7c3fc57c92d47fbb32c9dd16c2a42e0c:after {\n  height: 2px;\n  background: #5728ff !important;\n}\n#default-btn-7c3fc57c92d47fbb32c9dd16c2a42e0c > i {\n  margin-right: 8px;\n  font-size: 18px;\n}\n#default-btn-7c3fc57c92d47fbb32c9dd16c2a42e0c:not(:hover),\n#default-btn-7c3fc57c92d47fbb32c9dd16c2a42e0c.link-hover-off:hover {\n  color: #5728ff;\n  background: none;\n}\n#default-btn-7c3fc57c92d47fbb32c9dd16c2a42e0c:not(:hover) *,\n#default-btn-7c3fc57c92d47fbb32c9dd16c2a42e0c.link-hover-off:hover * {\n  color: #5728ff;\n  background: none;\n}\n#default-btn-7c3fc57c92d47fbb32c9dd16c2a42e0c.ico-right-side > i {\n  margin-right: 0px;\n  margin-left: 8px;\n}\n#default-btn-7c3fc57c92d47fbb32c9dd16c2a42e0c > i {\n  margin-right: 8px;\n}\n<\/style><a href=\"#!\/what\" class=\"default-btn-shortcode dt-btn-link link-hover-off ico-right-side anchor-link btn-inline-left left-to-right-line \" id=\"default-btn-7c3fc57c92d47fbb32c9dd16c2a42e0c\"><span>Introduction<\/span><i class=\"icomoon-the7-font-the7-arrow-29-1\"><\/i><\/a>[\/vc_column][vc_column width=&#8221;1\/5&#8243;]<style type=\"text\/css\" data-type=\"the7_shortcodes-inline-css\">#default-btn-7c3fc57c92d47fbb32c9dd16c2a42e0c {\n  font-size: 18px;\n  line-height: 20px;\n  padding: 4px 0px 4px 0px;\n}\n#default-btn-7c3fc57c92d47fbb32c9dd16c2a42e0c.ico-right-side > i {\n  margin-right: 0px;\n  margin-left: 8px;\n}\n#default-btn-7c3fc57c92d47fbb32c9dd16c2a42e0c:after {\n  height: 2px;\n  background: #5728ff !important;\n}\n#default-btn-7c3fc57c92d47fbb32c9dd16c2a42e0c > i {\n  margin-right: 8px;\n  font-size: 18px;\n}\n#default-btn-7c3fc57c92d47fbb32c9dd16c2a42e0c:not(:hover),\n#default-btn-7c3fc57c92d47fbb32c9dd16c2a42e0c.link-hover-off:hover {\n  color: #5728ff;\n  background: none;\n}\n#default-btn-7c3fc57c92d47fbb32c9dd16c2a42e0c:not(:hover) *,\n#default-btn-7c3fc57c92d47fbb32c9dd16c2a42e0c.link-hover-off:hover * {\n  color: #5728ff;\n  background: none;\n}\n#default-btn-7c3fc57c92d47fbb32c9dd16c2a42e0c.ico-right-side > i {\n  margin-right: 0px;\n  margin-left: 8px;\n}\n#default-btn-7c3fc57c92d47fbb32c9dd16c2a42e0c > i {\n  margin-right: 8px;\n}\n<\/style><a href=\"#!\/what\" class=\"default-btn-shortcode dt-btn-link link-hover-off ico-right-side anchor-link btn-inline-left left-to-right-line \" id=\"default-btn-7c3fc57c92d47fbb32c9dd16c2a42e0c\"><span>Security Risks<\/span><i class=\"icomoon-the7-font-the7-arrow-29-1\"><\/i><\/a>[\/vc_column][vc_column width=&#8221;1\/5&#8243;]<style type=\"text\/css\" data-type=\"the7_shortcodes-inline-css\">#default-btn-f72e86d95996670cc4bf2e820b8c7c1b {\n  font-size: 18px;\n  line-height: 20px;\n  padding: 4px 0px 4px 0px;\n}\n#default-btn-f72e86d95996670cc4bf2e820b8c7c1b.ico-right-side > i {\n  margin-right: 0px;\n  margin-left: 8px;\n}\n#default-btn-f72e86d95996670cc4bf2e820b8c7c1b:after {\n  height: 2px;\n  background: #5728ff !important;\n}\n#default-btn-f72e86d95996670cc4bf2e820b8c7c1b > i {\n  margin-right: 8px;\n  font-size: 18px;\n}\n#default-btn-f72e86d95996670cc4bf2e820b8c7c1b:not(:hover),\n#default-btn-f72e86d95996670cc4bf2e820b8c7c1b.link-hover-off:hover {\n  color: #5728ff;\n  background: none;\n}\n#default-btn-f72e86d95996670cc4bf2e820b8c7c1b:not(:hover) *,\n#default-btn-f72e86d95996670cc4bf2e820b8c7c1b.link-hover-off:hover * {\n  color: #5728ff;\n  background: none;\n}\n#default-btn-f72e86d95996670cc4bf2e820b8c7c1b.ico-right-side > i {\n  margin-right: 0px;\n  margin-left: 8px;\n}\n#default-btn-f72e86d95996670cc4bf2e820b8c7c1b > i {\n  margin-right: 8px;\n}\n<\/style><a href=\"#!\/security\" class=\"default-btn-shortcode dt-btn-link link-hover-off ico-right-side anchor-link btn-inline-left left-to-right-line \" id=\"default-btn-f72e86d95996670cc4bf2e820b8c7c1b\"><span>How it works<\/span><i class=\"icomoon-the7-font-the7-arrow-29-1\"><\/i><\/a>[\/vc_column][vc_column width=&#8221;1\/5&#8243;]<style type=\"text\/css\" data-type=\"the7_shortcodes-inline-css\">#default-btn-e132e399371828286bcc2692bbd3f8a2 {\n  font-size: 18px;\n  line-height: 20px;\n  padding: 4px 0px 4px 0px;\n}\n#default-btn-e132e399371828286bcc2692bbd3f8a2.ico-right-side > i {\n  margin-right: 0px;\n  margin-left: 8px;\n}\n#default-btn-e132e399371828286bcc2692bbd3f8a2:after {\n  height: 2px;\n  background: #5728ff !important;\n}\n#default-btn-e132e399371828286bcc2692bbd3f8a2 > i {\n  margin-right: 8px;\n  font-size: 18px;\n}\n#default-btn-e132e399371828286bcc2692bbd3f8a2:not(:hover),\n#default-btn-e132e399371828286bcc2692bbd3f8a2.link-hover-off:hover {\n  color: #5728ff;\n  background: none;\n}\n#default-btn-e132e399371828286bcc2692bbd3f8a2:not(:hover) *,\n#default-btn-e132e399371828286bcc2692bbd3f8a2.link-hover-off:hover * {\n  color: #5728ff;\n  background: none;\n}\n#default-btn-e132e399371828286bcc2692bbd3f8a2.ico-right-side > i {\n  margin-right: 0px;\n  margin-left: 8px;\n}\n#default-btn-e132e399371828286bcc2692bbd3f8a2 > i {\n  margin-right: 8px;\n}\n<\/style><a href=\"#!\/work\" class=\"default-btn-shortcode dt-btn-link link-hover-off ico-right-side anchor-link btn-inline-left left-to-right-line \" id=\"default-btn-e132e399371828286bcc2692bbd3f8a2\"><span>Why ProID &amp; Keycloak<\/span><i class=\"icomoon-the7-font-the7-arrow-29-1\"><\/i><\/a>[\/vc_column][vc_column width=&#8221;1\/5&#8243;]<style type=\"text\/css\" data-type=\"the7_shortcodes-inline-css\">#default-btn-e8bb7b6e3c5ae2d435bbd1e5c0408c11 {\n  font-size: 18px;\n  line-height: 20px;\n  padding: 4px 0px 4px 0px;\n}\n#default-btn-e8bb7b6e3c5ae2d435bbd1e5c0408c11.ico-right-side > i {\n  margin-right: 0px;\n  margin-left: 8px;\n}\n#default-btn-e8bb7b6e3c5ae2d435bbd1e5c0408c11:after {\n  height: 2px;\n  background: #5728ff !important;\n}\n#default-btn-e8bb7b6e3c5ae2d435bbd1e5c0408c11 > i {\n  margin-right: 8px;\n  font-size: 18px;\n}\n#default-btn-e8bb7b6e3c5ae2d435bbd1e5c0408c11:not(:hover),\n#default-btn-e8bb7b6e3c5ae2d435bbd1e5c0408c11.link-hover-off:hover {\n  color: #5728ff;\n  background: none;\n}\n#default-btn-e8bb7b6e3c5ae2d435bbd1e5c0408c11:not(:hover) *,\n#default-btn-e8bb7b6e3c5ae2d435bbd1e5c0408c11.link-hover-off:hover * {\n  color: #5728ff;\n  background: none;\n}\n#default-btn-e8bb7b6e3c5ae2d435bbd1e5c0408c11.ico-right-side > i {\n  margin-right: 0px;\n  margin-left: 8px;\n}\n#default-btn-e8bb7b6e3c5ae2d435bbd1e5c0408c11 > i {\n  margin-right: 8px;\n}\n<\/style><a href=\"#!\/trial\" class=\"default-btn-shortcode dt-btn-link link-hover-off ico-right-side anchor-link btn-inline-left left-to-right-line \" id=\"default-btn-e8bb7b6e3c5ae2d435bbd1e5c0408c11\"><span>Free Trial<\/span><i class=\"icomoon-the7-font-the7-arrow-29-1\"><\/i><\/a>[\/vc_column][\/vc_row][vc_row type=&#8221;vc_default&#8221; css=&#8221;.vc_custom_1659615295554{padding-right: 50px !important;padding-left: 50px !important;}&#8221;][vc_column][vc_empty_space height=&#8221;70&#8243;][\/vc_column][\/vc_row][vc_row type=&#8221;vc_default&#8221; el_id=&#8221;introduction&#8221;][vc_column][vc_empty_space height=&#8221;50&#8243;][vc_row_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_single_image image=&#8221;51429&#8243; img_size=&#8221;full&#8221; alignment=&#8221;center&#8221; style=&#8221;vc_box_rounded&#8221;][\/vc_column_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_empty_space height=&#8221;50&#8243;][vc_empty_space height=&#8221;50&#8243;][vc_column_text]<\/p>\n<h3>Introduction<\/h3>\n<p>Securing authentication has never been more critical. Passwords and even traditional one-time codes (TOTP) are no longer sufficient &#8211; studies show that <strong>over 80% of data breaches<\/strong> involve weak or stolen credentials. <strong>TOTP<\/strong>, while widely used, is also vulnerable to phishing, malware, and redirection attacks, leaving organizations exposed.<\/p>\n<p>ProID integrates with Keycloak via OIDC to provide <strong>Biometric and Passwordless Authentication<\/strong>. Instead of entering codes, users simply confirm access on their smartphone using fingerprint or facial recognition &#8211; making login both stronger and more user-friendly.[\/vc_column_text][\/vc_column_inner][\/vc_row_inner][\/vc_column][\/vc_row][vc_row][vc_column][vc_empty_space height=&#8221;70&#8243;][vc_row_inner content_placement=&#8221;middle&#8221; el_id=&#8221;what&#8221;][vc_column_inner width=&#8221;1\/2&#8243;][vc_column_text]<\/p>\n<h3><strong>Common Security Risks:<\/strong><\/h3>\n<p>[\/vc_column_text][vc_empty_space height=&#8221;30&#8243;]<div class=\"standard-arrow list-divider bullet-top\"><ul>\n<li><strong>Passwords are still the weakest link<\/strong> &#8211; Over 80% of data breaches involve weak or stolen credentials. Password-only login leaves applications and sensitive data wide open to attackers.<\/li>\n<li><strong>TOTP isn\u2019t phishing proof<\/strong> &#8211; Time-based one-time codes can be intercepted by malware or redirected in man-in-the-middle attacks. What should protect your users can still be bypassed and creates frustration with every login.<\/li>\n<li><strong>Compliance at risk<\/strong> &#8211; GDPR, ISO 27001, and NIS2 require strong identity verification. Relying only on passwords or TOTP puts your organization at risk of failing audits and exposing critical systems.<\/li>\n<\/ul>\n<\/div>[\/vc_column_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_empty_space height=&#8221;30&#8243;][vc_column_text]<\/p>\n<h3><strong>How ProID Solves Them:<\/strong><\/h3>\n<p>[\/vc_column_text][vc_empty_space height=&#8221;30&#8243;]<div class=\"standard-arrow list-divider bullet-top\"><ul>\n<li><strong>Biometric MFA<\/strong> instead of <strong>TOTP<\/strong> &#8211; ProID replaces vulnerable one-time codes with fingerprint or Face ID confirmation in the ProID&nbsp;Mobile App. No codes to type, no risk of phishing or redirection.<\/li>\n<li><strong>Phishing resistant login<\/strong> &#8211; Authentication requests are delivered as secure push notifications, ensuring only the rightful user can approve access.<\/li>\n<li><strong>Seamless OIDC integration<\/strong> &#8211; ProID connects directly to Keycloak via OIDC, so deployment is fast and does not disrupt existing workflows.<\/li>\n<li><strong>Compliance made simple<\/strong> &#8211; With strong identity verification, ProID helps organizations meet requirements of GDPR, ISO 27001, and NIS2, while reducing the burden of password policies.<\/li>\n<\/ul>\n<\/div>[\/vc_column_inner][\/vc_row_inner]<style type=\"text\/css\" data-type=\"the7_shortcodes-inline-css\">#default-btn-ab5c23b838b6d35d850be8d4943c309e.ico-right-side > i {\n  margin-right: 0px;\n  margin-left: 8px;\n}\n#default-btn-ab5c23b838b6d35d850be8d4943c309e > i {\n  margin-right: 8px;\n}\n<\/style><div class=\"btn-align-center\"><a href=\"https:\/\/calendar.app.google\/d9ZKDAVtCvZ9yMRcA\" class=\"default-btn-shortcode dt-btn dt-btn-l link-hover-off \" target=\"_blank\" id=\"default-btn-ab5c23b838b6d35d850be8d4943c309e\" rel=\"noopener\"><span>Book meeting<\/span><\/a><\/div>[vc_empty_space height=&#8221;50&#8243;][\/vc_column][\/vc_row][vc_row][vc_column][vc_empty_space height=&#8221;70&#8243;][vc_row_inner content_placement=&#8221;middle&#8221; el_id=&#8221;security&#8221;][vc_column_inner width=&#8221;1\/2&#8243;][vc_single_image image=&#8221;73583&#8243; img_size=&#8221;full&#8221; alignment=&#8221;center&#8221;][\/vc_column_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_column_text]<\/p>\n<h3>How it Works with OIDC?<\/h3>\n<p>OpenID Connect (<strong>OIDC<\/strong>) is a&nbsp;modern authentication protocol built on <strong>OAuth 2.0<\/strong>, enabling secure Single Sign-On across applications. In this setup, Keycloak acts as the Service Provider while ProID serves as the trusted Identity Provider.<\/p>\n<p>Users authenticate via the <strong>ProID&nbsp;Mobile App<\/strong>, confirming access with biometrics instead of passwords or <strong>TOTP<\/strong> codes. ProID then issues a&nbsp;signed <strong>OIDC<\/strong> response to Keycloak, which validates it and grants access.<\/p>\n<p>This streamlined process delivers phishing-resistant, passwordless login with minimal friction for users.[\/vc_column_text][vc_empty_space height=&#8221;30&#8243;]<style type=\"text\/css\" data-type=\"the7_shortcodes-inline-css\">#default-btn-f84d5de532e316ddd3cabc44d11185b3.ico-right-side > i {\n  margin-right: 0px;\n  margin-left: 8px;\n}\n#default-btn-f84d5de532e316ddd3cabc44d11185b3 > i {\n  margin-right: 8px;\n}\n<\/style><div class=\"btn-align-left\"><a href=\"https:\/\/calendar.app.google\/d9ZKDAVtCvZ9yMRcA\" class=\"default-btn-shortcode dt-btn dt-btn-l link-hover-off \" target=\"_blank\" id=\"default-btn-f84d5de532e316ddd3cabc44d11185b3\" rel=\"noopener\"><span>Book meeting<\/span><\/a><\/div>[\/vc_column_inner][\/vc_row_inner][vc_empty_space height=&#8221;50&#8243;][\/vc_column][\/vc_row][vc_row type=&#8221;vc_default&#8221;][vc_column][vc_empty_space height=&#8221;30&#8243;][vc_empty_space height=&#8221;30&#8243;][vc_row_inner][vc_column_inner width=&#8221;1\/6&#8243;][\/vc_column_inner][vc_column_inner width=&#8221;2\/3&#8243;][vc_column_text]<\/p>\n<h3 style=\"text-align: center;\">ProID offers full integration of Multi-Factor Authentication (MFA) with Keycloak, providing secure access to applications and systems, and ensuring that only authorized users can log in<\/h3>\n<p>[\/vc_column_text][\/vc_column_inner][vc_column_inner width=&#8221;1\/6&#8243;][\/vc_column_inner][\/vc_row_inner][vc_empty_space height=&#8221;30&#8243;][vc_empty_space height=&#8221;30&#8243;][\/vc_column][\/vc_row][vc_row][vc_column][vc_row_inner content_placement=&#8221;middle&#8221; disable_element=&#8221;yes&#8221; el_id=&#8221;work&#8221;][vc_column_inner width=&#8221;1\/2&#8243;][vc_single_image image=&#8221;30411&#8243; img_size=&#8221;full&#8221; alignment=&#8221;center&#8221;][\/vc_column_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_column_text]<\/p>\n<h3>Why ProID for Keycloak?<\/h3>\n<p>ProID brings <strong>enterprise-grade security<\/strong> and user experience to your <strong>existing Keycloak environment<\/strong>. By extending Keycloak with P<strong>asswordless biometric login<\/strong>, organizations gain stronger protection, higher user adoption, and simplified compliance.<\/p>\n<h4>Key benefits:<\/h4>\n<ul>\n<li><strong>Replaces weak TOTP<\/strong> codes with <strong>Passwordless biometrics<\/strong> &#8211; secure login via Face ID or Fingerprint.<\/li>\n<li><strong>Blocks phishing<\/strong> and credential stuffing &#8211; no passwords or codes to intercept.<\/li>\n<li><strong>Boosts user comfort<\/strong> and <strong>adoption<\/strong> &#8211; quick mobile confirmation instead of typing one-time codes.<\/li>\n<li><strong>Ensures compliance<\/strong> &#8211; meet security requirements of <strong>GDPR<\/strong>, <strong>ISO 27001<\/strong>, and NIS2.<\/li>\n<\/ul>\n<p>[\/vc_column_text][vc_empty_space height=&#8221;30&#8243;]<style type=\"text\/css\" data-type=\"the7_shortcodes-inline-css\">#default-btn-f84d5de532e316ddd3cabc44d11185b3.ico-right-side > i {\n  margin-right: 0px;\n  margin-left: 8px;\n}\n#default-btn-f84d5de532e316ddd3cabc44d11185b3 > i {\n  margin-right: 8px;\n}\n<\/style><div class=\"btn-align-left\"><a href=\"https:\/\/calendar.app.google\/d9ZKDAVtCvZ9yMRcA\" class=\"default-btn-shortcode dt-btn dt-btn-l link-hover-off \" target=\"_blank\" id=\"default-btn-f84d5de532e316ddd3cabc44d11185b3\" rel=\"noopener\"><span>Book meeting<\/span><\/a><\/div>[\/vc_column_inner][\/vc_row_inner][vc_empty_space height=&#8221;50&#8243;][\/vc_column][\/vc_row][vc_row][vc_column][vc_empty_space height=&#8221;70&#8243;][vc_row_inner content_placement=&#8221;middle&#8221;][vc_column_inner width=&#8221;1\/2&#8243;][vc_single_image image=&#8221;75877&#8243; img_size=&#8221;full&#8221; alignment=&#8221;center&#8221;][\/vc_column_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_column_text]<\/p>\n<h3>Why ProID for Keycloak?<\/h3>\n<p>ProID brings <strong>enterprise-grade security<\/strong> and user experience to your <strong>existing Keycloak environment<\/strong>. By extending Keycloak with P<strong>asswordless biometric login<\/strong>, organizations gain stronger protection, higher user adoption, and simplified compliance.<\/p>\n<h4>Key benefits:<\/h4>\n<ul>\n<li><strong>Replaces weak TOTP<\/strong> codes with <strong>Passwordless biometrics<\/strong> &#8211; secure login via Face ID or Fingerprint.<\/li>\n<li><strong>Blocks phishing<\/strong> and credential stuffing &#8211; no passwords or codes to intercept.<\/li>\n<li><strong>Boosts user comfort<\/strong> and <strong>adoption<\/strong> &#8211; quick mobile confirmation instead of typing one-time codes.<\/li>\n<li><strong>Ensures compliance<\/strong> &#8211; meet security requirements of <strong>GDPR<\/strong>, <strong>ISO 27001<\/strong>, and NIS2.<\/li>\n<\/ul>\n<p>[\/vc_column_text][vc_empty_space height=&#8221;30&#8243;]<style type=\"text\/css\" data-type=\"the7_shortcodes-inline-css\">#default-btn-f84d5de532e316ddd3cabc44d11185b3.ico-right-side > i {\n  margin-right: 0px;\n  margin-left: 8px;\n}\n#default-btn-f84d5de532e316ddd3cabc44d11185b3 > i {\n  margin-right: 8px;\n}\n<\/style><div class=\"btn-align-left\"><a href=\"https:\/\/calendar.app.google\/d9ZKDAVtCvZ9yMRcA\" class=\"default-btn-shortcode dt-btn dt-btn-l link-hover-off \" target=\"_blank\" id=\"default-btn-f84d5de532e316ddd3cabc44d11185b3\" rel=\"noopener\"><span>Book meeting<\/span><\/a><\/div>[\/vc_column_inner][vc_column_inner][\/vc_column_inner][vc_column_inner][\/vc_column_inner][\/vc_row_inner][vc_empty_space height=&#8221;50&#8243;][\/vc_column][\/vc_row][vc_row][vc_column][vc_empty_space height=&#8221;30&#8243;][vc_empty_space height=&#8221;30&#8243;][vc_column_text]<\/p>\n<h2 style=\"text-align: center;\">System Architecture<\/h2>\n<p>[\/vc_column_text][vc_empty_space height=&#8221;30&#8243;][vc_row_inner el_id=&#8221;work&#8221;][vc_column_inner width=&#8221;1\/6&#8243;][\/vc_column_inner][vc_column_inner width=&#8221;2\/3&#8243;][vc_single_image image=&#8221;57985&#8243; img_size=&#8221;full&#8221; alignment=&#8221;center&#8221; style=&#8221;vc_box_rounded&#8221;][\/vc_column_inner][vc_column_inner width=&#8221;1\/6&#8243;][\/vc_column_inner][\/vc_row_inner][vc_empty_space height=&#8221;30&#8243;][\/vc_column][\/vc_row][vc_row type=&#8221;vc_default&#8221; disable_element=&#8221;yes&#8221;][vc_column][vc_empty_space height=&#8221;70&#8243;][vc_row_inner][vc_column_inner width=&#8221;1\/6&#8243;][\/vc_column_inner][vc_column_inner width=&#8221;2\/3&#8243;][vc_column_text]<\/p>\n<h2 style=\"text-align: center;\">Using the ProID&nbsp;Mobile app for secure login<\/h2>\n<p>[\/vc_column_text][\/vc_column_inner][vc_column_inner width=&#8221;1\/6&#8243;][\/vc_column_inner][\/vc_row_inner][vc_empty_space height=&#8221;30&#8243;][vc_row_inner][vc_column_inner width=&#8221;1\/6&#8243;][\/vc_column_inner][vc_column_inner width=&#8221;2\/3&#8243;][vc_single_image image=&#8221;17658&#8243; img_size=&#8221;full&#8221; alignment=&#8221;center&#8221; style=&#8221;vc_box_rounded&#8221;][\/vc_column_inner][vc_column_inner width=&#8221;1\/6&#8243;][\/vc_column_inner][\/vc_row_inner][vc_empty_space height=&#8221;70&#8243;][\/vc_column][\/vc_row][vc_row][vc_column][vc_empty_space height=&#8221;50&#8243;][vc_row_inner][vc_column_inner width=&#8221;1\/4&#8243;][\/vc_column_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_column_text]<\/p>\n<h2 style=\"text-align: center;\">Latest integrations<\/h2>\n<p>[\/vc_column_text][\/vc_column_inner][vc_column_inner width=&#8221;1\/4&#8243;][\/vc_column_inner][\/vc_row_inner][vc_empty_space height=&#8221;50&#8243;]<style type=\"text\/css\" data-type=\"the7_shortcodes-inline-css\">.blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a.content-bg-on.classic-layout-list article {\n  background: #f5f6f7;\n  box-shadow: none;\n}\n.blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a.dividers-on.classic-layout-list article {\n  padding-top: 0;\n}\n.blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a.dividers-on.classic-layout-list article:first-of-type {\n  margin-top: 0;\n  padding-top: 0;\n}\n.blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a.classic-layout-list.mode-list .post-entry-content {\n  width: calc(100% - );\n}\n.blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a.classic-layout-list.mode-list .no-img .post-entry-content {\n  width: 100%;\n}\n.blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a .filter-bg-decoration .filter-categories a.act {\n  color: #fff;\n}\n.blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a:not(.mode-masonry) article:first-of-type,\n.blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a:not(.mode-masonry) article.visible.first:not(.product) {\n  margin-top: 0;\n}\n.blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a.dividers-on:not(.mode-masonry) article {\n  margin-top: 0;\n}\n.blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a.dividers-on:not(.mode-masonry) article:first-of-type,\n.blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a.dividers-on:not(.mode-masonry) article.visible.first:not(.product) {\n  margin-top: 0;\n  padding-top: 0;\n}\n.blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a .post-thumbnail-wrap {\n  padding: 4px 4px 4px 4px;\n}\n.blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a.enable-bg-rollover .post-thumbnail-rollover:after {\n  background: -webkit-linear-gradient();\n  background: linear-gradient();\n}\n.blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a .gallery-zoom-ico {\n  width: 44px;\n  height: 44px;\n  line-height: 44px;\n  border-radius: 100px;\n  margin: -22px 0 0 -22px;\n  border-width: 0px;\n  color: #ffffff;\n}\n.bottom-overlap-layout-list.blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a .gallery-zoom-ico {\n  margin-top: -72px;\n}\n.gradient-overlay-layout-list.blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a .gallery-zoom-ico,\n.content-rollover-layout-list.blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a .gallery-zoom-ico {\n  margin: 0 0 10px;\n}\n.content-align-center.gradient-overlay-layout-list.blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a .gallery-zoom-ico,\n.content-align-center.content-rollover-layout-list.blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a .gallery-zoom-ico {\n  margin: 0 auto 10px;\n}\n.dt-icon-bg-on.blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a .gallery-zoom-ico {\n  background: rgba(255,255,255,0.3);\n  box-shadow: none;\n}\n.blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a .gallery-zoom-ico > span,\n.blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a .gallery-zoom-ico:before {\n  font-size: 32px;\n  line-height: 44px;\n}\n.blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a .gallery-zoom-ico > span,\n.blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a .gallery-zoom-ico:before {\n  color: #ffffff;\n}\n.blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a .entry-title,\n.blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a.owl-carousel .entry-title {\n  margin-bottom: 10px;\n  font-size: 16px;\n  font-weight: bold;\n}\n.blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a .entry-title a,\n.blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a.owl-carousel .entry-title a {\n  color: #413b8d;\n}\n.blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a .entry-meta {\n  margin-bottom: 15px;\n}\n.blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a .portfolio-categories {\n  margin-bottom: 15px;\n}\n.blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a .entry-excerpt {\n  margin-bottom: 5px;\n}\n.blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a:not(.centered-layout-list) .post-entry-content {\n  padding: 20px 10px 20px 10px;\n}\n.blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a:not(.centered-layout-list):not(.content-bg-on):not(.mode-list) .no-img .post-entry-content {\n  padding: 0;\n}\n.blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a.content-bg-on:not(.classic-layout-list):not(.centered-layout-list) .post-entry-content {\n  background: #f5f6f7;\n  box-shadow: none;\n}\n.blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a .post-details.details-type-link,\n.blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a .post-details.details-type-link * {\n  color: #413b8d;\n}\n@media screen and (max-width: ) {\n  .blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a article {\n    -ms-flex-flow: column nowrap;\n    flex-flow: column nowrap;\n    margin-top: 20px;\n  }\n  .blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a.dividers-on article {\n    border: none;\n  }\n  .blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a.content-bg-on.centered-layout-list article {\n    padding: 0;\n  }\n  .blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a.blog-shortcode.dividers-on article,\n  .blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a.dividers-on.classic-layout-list article {\n    margin-top: 20px;\n    padding: 0;\n  }\n  .blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a.blog-shortcode.dividers-on article:first-of-type,\n  .blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a.dividers-on.classic-layout-list article:first-of-type {\n    padding: 0;\n  }\n  #page .blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a .post-thumbnail-wrap,\n  #page .blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a .post-entry-content {\n    width: 100%;\n    margin: 0;\n    top: 0;\n  }\n  #page .blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a .post-thumbnail-wrap {\n    padding: 0;\n  }\n  #page .blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a .post-entry-content:after {\n    display: none;\n  }\n  #page .blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a .project-even .post-thumbnail-wrap,\n  #page .blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a.centered-layout-list .post-thumbnail-wrap {\n    -ms-flex-order: 0;\n    order: 0;\n  }\n  #page .blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a.centered-layout-list .post-entry-title-content {\n    -ms-flex-order: 1;\n    order: 1;\n    width: 100%;\n    padding: 20px 20px 0;\n  }\n  #page .blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a.centered-layout-list .post-entry-content {\n    -ms-flex-order: 2;\n    order: 2;\n    padding-top: 0;\n  }\n  #page .blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a .fancy-categories {\n    top: 10px;\n    left: 10px;\n    bottom: auto;\n    right: auto;\n  }\n  #page .blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a .fancy-date a {\n    top: 10px;\n    right: 10px;\n    left: auto;\n    bottom: auto;\n  }\n  #page .blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a .post-entry-content {\n    padding: 20px;\n  }\n  #page .blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a .entry-title {\n    margin: 3px 0 5px;\n    font-size: 20px;\n    font-size: 16px;\n    line-height: 26px;\n  }\n  #page .blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a .entry-meta {\n    margin: 5px 0 5px;\n  }\n  #page .blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a .entry-excerpt {\n    margin: 15px 0 0;\n  }\n  #page .blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a .post-details {\n    margin: 5px 0 10px;\n  }\n  #page .blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a .post-details.details-type-link {\n    margin-bottom: 2px;\n  }\n}\n.blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a:not(.resize-by-browser-width) .dt-css-grid {\n  grid-row-gap: 20px;\n  grid-column-gap: 20px;\n  grid-template-columns: repeat(auto-fill,minmax(,1fr));\n}\n.blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a:not(.resize-by-browser-width) .dt-css-grid .double-width {\n  grid-column: span 2;\n}\n.cssgridlegacy.no-cssgrid .blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a:not(.resize-by-browser-width) .dt-css-grid,\n.no-cssgridlegacy.no-cssgrid .blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a:not(.resize-by-browser-width) .dt-css-grid {\n  display: flex;\n  flex-flow: row wrap;\n  margin: -10px;\n}\n.cssgridlegacy.no-cssgrid .blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a:not(.resize-by-browser-width) .dt-css-grid .wf-cell,\n.no-cssgridlegacy.no-cssgrid .blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a:not(.resize-by-browser-width) .dt-css-grid .wf-cell {\n  flex: 1 0 ;\n  max-width: 100%;\n  padding: 10px;\n  box-sizing: border-box;\n}\n.blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a.resize-by-browser-width .dt-css-grid {\n  grid-template-columns: repeat(4,1fr);\n  grid-template-rows: auto;\n  grid-column-gap: 20px;\n  grid-row-gap: 20px;\n}\n.blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a.resize-by-browser-width .dt-css-grid .double-width {\n  grid-column: span 2;\n}\n.cssgridlegacy.no-cssgrid .blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a.resize-by-browser-width .dt-css-grid {\n  margin: -10px;\n}\n.cssgridlegacy.no-cssgrid .blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a.resize-by-browser-width .dt-css-grid .wf-cell {\n  width: 25%;\n  padding: 10px;\n}\n.cssgridlegacy.no-cssgrid .blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a.resize-by-browser-width .dt-css-grid .wf-cell.double-width {\n  width: calc(25%) * 2;\n}\n.blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a.resize-by-browser-width:not(.centered-layout-list):not(.content-bg-on) .dt-css-grid {\n  grid-row-gap: 0px;\n}\n@media screen and (max-width: 1199px) {\n  .blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a.resize-by-browser-width .dt-css-grid {\n    grid-template-columns: repeat(4,1fr);\n  }\n  .cssgridlegacy.no-cssgrid .blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a.resize-by-browser-width .dt-css-grid .wf-cell,\n  .no-cssgridlegacy.no-cssgrid .blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a.resize-by-browser-width .dt-css-grid .wf-cell {\n    width: 25%;\n  }\n  .cssgridlegacy.no-cssgrid .blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a.resize-by-browser-width .dt-css-grid .wf-cell.double-width,\n  .no-cssgridlegacy.no-cssgrid .blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a.resize-by-browser-width .dt-css-grid .wf-cell.double-width {\n    width: calc(25%)*2;\n  }\n}\n@media screen and (max-width: 991px) {\n  .blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a.resize-by-browser-width .dt-css-grid {\n    grid-template-columns: repeat(2,1fr);\n  }\n  .cssgridlegacy.no-cssgrid .blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a.resize-by-browser-width .dt-css-grid .wf-cell,\n  .no-cssgridlegacy.no-cssgrid .blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a.resize-by-browser-width .dt-css-grid .wf-cell {\n    width: 50%;\n  }\n  .cssgridlegacy.no-cssgrid .blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a.resize-by-browser-width .dt-css-grid .wf-cell.double-width,\n  .no-cssgridlegacy.no-cssgrid .blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a.resize-by-browser-width .dt-css-grid .wf-cell.double-width {\n    width: calc(50%)*2;\n  }\n}\n@media screen and (max-width: 767px) {\n  .blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a.resize-by-browser-width .dt-css-grid {\n    grid-template-columns: repeat(1,1fr);\n  }\n  .blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a.resize-by-browser-width .dt-css-grid .double-width {\n    grid-column: span 1;\n  }\n  .cssgridlegacy.no-cssgrid .blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a.resize-by-browser-width .dt-css-grid .wf-cell,\n  .no-cssgridlegacy.no-cssgrid .blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a.resize-by-browser-width .dt-css-grid .wf-cell {\n    width: 100%;\n  }\n  .cssgridlegacy.no-cssgrid .blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a.resize-by-browser-width .dt-css-grid .wf-cell.double-width,\n  .no-cssgridlegacy.no-cssgrid .blog-shortcode.blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a.resize-by-browser-width .dt-css-grid .wf-cell.double-width {\n    width: calc(100%)*2;\n  }\n}\n<\/style><div class=\"blog-shortcode blog-masonry-shortcode-id-12498ac5aaf1fc91a06b0489e0d9f31a mode-grid classic-layout-list content-bg-on jquery-filter scale-img meta-info-off dt-css-grid-wrap dt-icon-bg-off resize-by-browser-width loading-effect-none description-under-image \" data-padding=\"10px\" data-cur-page=\"1\" data-post-limit=\"-1\" data-pagination-mode=\"none\" data-desktop-columns-num=\"4\" data-v-tablet-columns-num=\"2\" data-h-tablet-columns-num=\"4\" data-phone-columns-num=\"1\" data-width=\"0px\" data-columns=\"0\"><div class=\"dt-css-grid\" ><div class=\"visible wf-cell\" data-post-id=\"79549\" data-date=\"2025-11-06T11:14:44+01:00\" data-name=\"Multi-factor Authentication to OnlyOffice\"><article class=\"post project-odd visible post-79549 type-post status-publish format-standard has-post-thumbnail hentry category-integrace-proid-mobile-en category-roadmapa-en category-165 category-166 description-off\" data-name=\"Multi-factor Authentication to OnlyOffice\" data-date=\"2025-11-06T11:14:44+01:00\">\n\n<div class=\"post-thumbnail-wrap\">\n\t<div class=\"post-thumbnail\">\n\t\t\n\t\t\n\t\t<a href=\"https:\/\/proid.cz\/en\/multi-factor-authentication-to-onlyoffice\/\" class=\"post-thumbnail-rollover layzr-bg layzr-bg\" ><img class=\"iso-lazy-load preload-me iso-lazy-load aspect\" src=\"data:image\/svg+xml,%3Csvg%20xmlns%3D&#39;http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg&#39;%20viewBox%3D&#39;0%200%20768%20512&#39;%2F%3E\" data-src=\"https:\/\/proid.cz\/wp-content\/uploads\/2025\/11\/Group-2-7-768x512.png\" data-srcset=\"https:\/\/proid.cz\/wp-content\/uploads\/2025\/11\/Group-2-7-768x512.png 768w, https:\/\/proid.cz\/wp-content\/uploads\/2025\/11\/Group-2-7-1152x768.png 1152w\" loading=\"eager\" style=\"--ratio: 768 \/ 512\" sizes=\"(max-width: 768px) 100vw, 768px\" alt=\"\" title=\"Group 2 (7)\" width=\"768\" height=\"512\"  \/><\/a>\t<\/div>\n<\/div>\n\n\n<div class=\"post-entry-content\">\n\n\t<h3 class=\"entry-title\">\n\t\t<a href=\"https:\/\/proid.cz\/en\/multi-factor-authentication-to-onlyoffice\/\" title=\"Multi-factor Authentication to OnlyOffice\" rel=\"bookmark\">Multi-factor Authentication to OnlyOffice<\/a>\n\t<\/h3>\n\n\t\n\t\n\t\n<\/div><\/article><\/div><div class=\"visible wf-cell\" data-post-id=\"57528\" data-date=\"2025-04-28T00:21:15+02:00\" data-name=\"Multi-factor Authentication to Keycloak\"><article class=\"post project-odd visible post-57528 type-post status-publish format-standard has-post-thumbnail hentry category-integrace-proid-mobile-en category-roadmapa-en category-165 category-166 description-off\" data-name=\"Multi-factor Authentication to Keycloak\" data-date=\"2025-04-28T00:21:15+02:00\">\n\n<div class=\"post-thumbnail-wrap\">\n\t<div class=\"post-thumbnail\">\n\t\t\n\t\t\n\t\t<a href=\"https:\/\/proid.cz\/en\/multi-factor-authentication-to-keycloak\/\" class=\"post-thumbnail-rollover layzr-bg layzr-bg\" ><img class=\"iso-lazy-load preload-me iso-lazy-load aspect\" src=\"data:image\/svg+xml,%3Csvg%20xmlns%3D&#39;http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg&#39;%20viewBox%3D&#39;0%200%20768%20512&#39;%2F%3E\" data-src=\"https:\/\/proid.cz\/wp-content\/uploads\/2025\/04\/keycloak-page-768x512.png\" data-srcset=\"https:\/\/proid.cz\/wp-content\/uploads\/2025\/04\/keycloak-page-768x512.png 768w, https:\/\/proid.cz\/wp-content\/uploads\/2025\/04\/keycloak-page-1152x768.png 1152w\" loading=\"eager\" style=\"--ratio: 768 \/ 512\" sizes=\"(max-width: 768px) 100vw, 768px\" alt=\"\" title=\"keycloak-page\" width=\"768\" height=\"512\"  \/><\/a>\t<\/div>\n<\/div>\n\n\n<div class=\"post-entry-content\">\n\n\t<h3 class=\"entry-title\">\n\t\t<a href=\"https:\/\/proid.cz\/en\/multi-factor-authentication-to-keycloak\/\" title=\"Multi-factor Authentication to Keycloak\" rel=\"bookmark\">Multi-factor Authentication to Keycloak<\/a>\n\t<\/h3>\n\n\t\n\t\n\t\n<\/div><\/article><\/div><div class=\"visible wf-cell\" data-post-id=\"56450\" data-date=\"2025-04-14T01:28:13+02:00\" data-name=\"Multi-factor Authentication to BambooHR\"><article class=\"post project-odd visible post-56450 type-post status-publish format-standard has-post-thumbnail hentry category-integrace-proid-mobile-en category-roadmapa-en category-165 category-166 description-off\" data-name=\"Multi-factor Authentication to BambooHR\" data-date=\"2025-04-14T01:28:13+02:00\">\n\n<div class=\"post-thumbnail-wrap\">\n\t<div class=\"post-thumbnail\">\n\t\t\n\t\t\n\t\t<a href=\"https:\/\/proid.cz\/en\/multi-factor-authentication-to-bamboohr\/\" class=\"post-thumbnail-rollover layzr-bg layzr-bg\" ><img class=\"iso-lazy-load preload-me iso-lazy-load aspect\" src=\"data:image\/svg+xml,%3Csvg%20xmlns%3D&#39;http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg&#39;%20viewBox%3D&#39;0%200%20768%20512&#39;%2F%3E\" data-src=\"https:\/\/proid.cz\/wp-content\/uploads\/2025\/04\/BambooHR-768x512.png\" data-srcset=\"https:\/\/proid.cz\/wp-content\/uploads\/2025\/04\/BambooHR-768x512.png 768w, https:\/\/proid.cz\/wp-content\/uploads\/2025\/04\/BambooHR-1152x768.png 1152w\" loading=\"eager\" style=\"--ratio: 768 \/ 512\" sizes=\"(max-width: 768px) 100vw, 768px\" alt=\"\" title=\"BambooHR\" width=\"768\" height=\"512\"  \/><\/a>\t<\/div>\n<\/div>\n\n\n<div class=\"post-entry-content\">\n\n\t<h3 class=\"entry-title\">\n\t\t<a href=\"https:\/\/proid.cz\/en\/multi-factor-authentication-to-bamboohr\/\" title=\"Multi-factor Authentication to BambooHR\" rel=\"bookmark\">Multi-factor Authentication to BambooHR<\/a>\n\t<\/h3>\n\n\t\n\t\n\t\n<\/div><\/article><\/div><div class=\"visible wf-cell\" data-post-id=\"20584\" data-date=\"2024-07-16T12:37:06+02:00\" data-name=\"Multi-factor authentication to Microsoft RDP (Remote Desktop)\"><article class=\"post project-odd visible post-20584 type-post status-publish format-standard has-post-thumbnail hentry category-integrace-proid-mobile-en category-roadmapa-en category-165 category-166 description-off\" data-name=\"Multi-factor authentication to Microsoft RDP (Remote Desktop)\" data-date=\"2024-07-16T12:37:06+02:00\">\n\n<div class=\"post-thumbnail-wrap\">\n\t<div class=\"post-thumbnail\">\n\t\t\n\t\t\n\t\t<a href=\"https:\/\/proid.cz\/en\/multi-factor-authentication-to-microsoft-rdp-remote-desktop\/\" class=\"post-thumbnail-rollover layzr-bg layzr-bg\" ><img class=\"iso-lazy-load preload-me iso-lazy-load aspect\" src=\"data:image\/svg+xml,%3Csvg%20xmlns%3D&#39;http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg&#39;%20viewBox%3D&#39;0%200%20768%20512&#39;%2F%3E\" data-src=\"https:\/\/proid.cz\/wp-content\/uploads\/2023\/07\/integrace-mfa-2fa-rdp-768x512.jpg\" data-srcset=\"https:\/\/proid.cz\/wp-content\/uploads\/2023\/07\/integrace-mfa-2fa-rdp-768x512.jpg 768w, https:\/\/proid.cz\/wp-content\/uploads\/2023\/07\/integrace-mfa-2fa-rdp-1152x768.jpg 1152w\" loading=\"eager\" style=\"--ratio: 768 \/ 512\" sizes=\"(max-width: 768px) 100vw, 768px\" alt=\"\" title=\"integrace-mfa-2fa-rdp\" width=\"768\" height=\"512\"  \/><\/a>\t<\/div>\n<\/div>\n\n\n<div class=\"post-entry-content\">\n\n\t<h3 class=\"entry-title\">\n\t\t<a href=\"https:\/\/proid.cz\/en\/multi-factor-authentication-to-microsoft-rdp-remote-desktop\/\" title=\"Multi-factor authentication to Microsoft RDP (Remote Desktop)\" rel=\"bookmark\">Multi-factor authentication to Microsoft RDP (Remote Desktop)<\/a>\n\t<\/h3>\n\n\t\n\t\n\t\n<\/div><\/article><\/div><div class=\"visible wf-cell\" data-post-id=\"19254\" data-date=\"2024-07-11T09:26:16+02:00\" data-name=\"Multifactor authentication to GitHub (Passwordless)\"><article class=\"post project-odd visible post-19254 type-post status-publish format-standard has-post-thumbnail hentry category-integrace-proid-mobile-en category-roadmapa-en category-165 category-166 description-off\" data-name=\"Multifactor authentication to GitHub (Passwordless)\" data-date=\"2024-07-11T09:26:16+02:00\">\n\n<div class=\"post-thumbnail-wrap\">\n\t<div class=\"post-thumbnail\">\n\t\t\n\t\t\n\t\t<a href=\"https:\/\/proid.cz\/en\/multifactor-authentication-mfa-2fa-to-github-passwordless\/\" class=\"post-thumbnail-rollover layzr-bg layzr-bg\" ><img class=\"iso-lazy-load preload-me iso-lazy-load aspect\" src=\"data:image\/svg+xml,%3Csvg%20xmlns%3D&#39;http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg&#39;%20viewBox%3D&#39;0%200%20768%20512&#39;%2F%3E\" data-src=\"https:\/\/proid.cz\/wp-content\/uploads\/2023\/05\/integrace-mfa-2fa-github-768x512.jpg\" data-srcset=\"https:\/\/proid.cz\/wp-content\/uploads\/2023\/05\/integrace-mfa-2fa-github-768x512.jpg 768w, https:\/\/proid.cz\/wp-content\/uploads\/2023\/05\/integrace-mfa-2fa-github-1152x768.jpg 1152w\" loading=\"eager\" style=\"--ratio: 768 \/ 512\" sizes=\"(max-width: 768px) 100vw, 768px\" alt=\"\" title=\"integrace-mfa-2fa-github\" width=\"768\" height=\"512\"  \/><\/a>\t<\/div>\n<\/div>\n\n\n<div class=\"post-entry-content\">\n\n\t<h3 class=\"entry-title\">\n\t\t<a href=\"https:\/\/proid.cz\/en\/multifactor-authentication-mfa-2fa-to-github-passwordless\/\" title=\"Multifactor authentication to GitHub (Passwordless)\" rel=\"bookmark\">Multifactor authentication to GitHub (Passwordless)<\/a>\n\t<\/h3>\n\n\t\n\t\n\t\n<\/div><\/article><\/div><div class=\"visible wf-cell\" data-post-id=\"19259\" data-date=\"2024-06-23T12:10:35+02:00\" data-name=\"Passwordless Multifactor Authentication to Senhasegura PAM\"><article class=\"post project-odd visible post-19259 type-post status-publish format-standard has-post-thumbnail hentry category-integrace-proid-mobile-en category-roadmapa-en category-165 category-166 description-off\" data-name=\"Passwordless Multifactor Authentication to Senhasegura PAM\" data-date=\"2024-06-23T12:10:35+02:00\">\n\n<div class=\"post-thumbnail-wrap\">\n\t<div class=\"post-thumbnail\">\n\t\t\n\t\t\n\t\t<a href=\"https:\/\/proid.cz\/en\/multifactor-authentication-to-senhasegura-pam-passwordless\/\" class=\"post-thumbnail-rollover layzr-bg layzr-bg\" ><img class=\"iso-lazy-load preload-me iso-lazy-load aspect\" src=\"data:image\/svg+xml,%3Csvg%20xmlns%3D&#39;http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg&#39;%20viewBox%3D&#39;0%200%20768%20512&#39;%2F%3E\" data-src=\"https:\/\/proid.cz\/wp-content\/uploads\/2023\/05\/integrace-mfa-2fa-senhasegura-PAM-768x512.jpg\" data-srcset=\"https:\/\/proid.cz\/wp-content\/uploads\/2023\/05\/integrace-mfa-2fa-senhasegura-PAM-768x512.jpg 768w, https:\/\/proid.cz\/wp-content\/uploads\/2023\/05\/integrace-mfa-2fa-senhasegura-PAM-1152x768.jpg 1152w\" loading=\"eager\" style=\"--ratio: 768 \/ 512\" sizes=\"(max-width: 768px) 100vw, 768px\" alt=\"\" title=\"integrace-mfa-2fa-senhasegura-PAM\" width=\"768\" height=\"512\"  \/><\/a>\t<\/div>\n<\/div>\n\n\n<div class=\"post-entry-content\">\n\n\t<h3 class=\"entry-title\">\n\t\t<a href=\"https:\/\/proid.cz\/en\/multifactor-authentication-to-senhasegura-pam-passwordless\/\" title=\"Passwordless Multifactor Authentication to Senhasegura PAM\" rel=\"bookmark\">Passwordless Multifactor Authentication to Senhasegura PAM<\/a>\n\t<\/h3>\n\n\t\n\t\n\t\n<\/div><\/article><\/div><div class=\"visible wf-cell\" data-post-id=\"29521\" data-date=\"2024-06-15T11:30:34+02:00\" data-name=\"Multi-factor (passwordless) authentication to Pipedrive&#039;s CRM\"><article class=\"post project-odd visible post-29521 type-post status-publish format-standard has-post-thumbnail hentry category-integrace-proid-mobile-en category-roadmapa-en category-165 category-166 description-off\" data-name=\"Multi-factor (passwordless) authentication to Pipedrive&#8217;s&nbsp;CRM\" data-date=\"2024-06-15T11:30:34+02:00\">\n\n<div class=\"post-thumbnail-wrap\">\n\t<div class=\"post-thumbnail\">\n\t\t\n\t\t\n\t\t<a href=\"https:\/\/proid.cz\/en\/multi-factor-passwordless-authentication-to-pipedrives-crm\/\" class=\"post-thumbnail-rollover layzr-bg layzr-bg\" ><img class=\"iso-lazy-load preload-me iso-lazy-load aspect\" src=\"data:image\/svg+xml,%3Csvg%20xmlns%3D&#39;http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg&#39;%20viewBox%3D&#39;0%200%20768%20512&#39;%2F%3E\" data-src=\"https:\/\/proid.cz\/wp-content\/uploads\/2024\/02\/integrace-mfa-2fa-pipedrive-CRM-768x512.jpg\" data-srcset=\"https:\/\/proid.cz\/wp-content\/uploads\/2024\/02\/integrace-mfa-2fa-pipedrive-CRM-768x512.jpg 768w, https:\/\/proid.cz\/wp-content\/uploads\/2024\/02\/integrace-mfa-2fa-pipedrive-CRM-1152x768.jpg 1152w\" loading=\"eager\" style=\"--ratio: 768 \/ 512\" sizes=\"(max-width: 768px) 100vw, 768px\" alt=\"\" title=\"integrace-mfa-2fa-pipedrive-CRM\" width=\"768\" height=\"512\"  \/><\/a>\t<\/div>\n<\/div>\n\n\n<div class=\"post-entry-content\">\n\n\t<h3 class=\"entry-title\">\n\t\t<a href=\"https:\/\/proid.cz\/en\/multi-factor-passwordless-authentication-to-pipedrives-crm\/\" title=\"Multi-factor (passwordless) authentication to Pipedrive&#8217;s&nbsp;CRM\" rel=\"bookmark\">Multi-factor (passwordless) authentication to Pipedrive&#8217;s&nbsp;CRM<\/a>\n\t<\/h3>\n\n\t\n\t\n\t\n<\/div><\/article><\/div><div class=\"visible wf-cell\" data-post-id=\"29512\" data-date=\"2024-06-15T10:51:45+02:00\" data-name=\"Multi-factor authentication to the Palo Alto tool interface\"><article class=\"post project-odd visible post-29512 type-post status-publish format-standard has-post-thumbnail hentry category-integrace-proid-mobile-en category-roadmapa-en category-165 category-166 description-off\" data-name=\"Multi-factor authentication to the Palo Alto tool interface\" data-date=\"2024-06-15T10:51:45+02:00\">\n\n<div class=\"post-thumbnail-wrap\">\n\t<div class=\"post-thumbnail\">\n\t\t\n\t\t\n\t\t<a href=\"https:\/\/proid.cz\/en\/multi-factor-authentication-to-the-palo-alto-tool-interface\/\" class=\"post-thumbnail-rollover layzr-bg layzr-bg\" ><img class=\"iso-lazy-load preload-me iso-lazy-load aspect\" src=\"data:image\/svg+xml,%3Csvg%20xmlns%3D&#39;http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg&#39;%20viewBox%3D&#39;0%200%20768%20512&#39;%2F%3E\" data-src=\"https:\/\/proid.cz\/wp-content\/uploads\/2024\/02\/integrace-mfa-2fa-paloalto-SIEM-768x512.jpg\" data-srcset=\"https:\/\/proid.cz\/wp-content\/uploads\/2024\/02\/integrace-mfa-2fa-paloalto-SIEM-768x512.jpg 768w, https:\/\/proid.cz\/wp-content\/uploads\/2024\/02\/integrace-mfa-2fa-paloalto-SIEM-1152x768.jpg 1152w\" loading=\"eager\" style=\"--ratio: 768 \/ 512\" sizes=\"(max-width: 768px) 100vw, 768px\" alt=\"\" title=\"integrace-mfa-2fa-paloalto-SIEM\" width=\"768\" height=\"512\"  \/><\/a>\t<\/div>\n<\/div>\n\n\n<div class=\"post-entry-content\">\n\n\t<h3 class=\"entry-title\">\n\t\t<a href=\"https:\/\/proid.cz\/en\/multi-factor-authentication-to-the-palo-alto-tool-interface\/\" title=\"Multi-factor authentication to the Palo Alto tool interface\" rel=\"bookmark\">Multi-factor authentication to the Palo Alto tool interface<\/a>\n\t<\/h3>\n\n\t\n\t\n\t\n<\/div><\/article><\/div><\/div><!-- iso-container|iso-grid --><\/div>[vc_empty_space height=&#8221;50&#8243;][vc_row_inner][vc_column_inner width=&#8221;1\/4&#8243;][\/vc_column_inner][vc_column_inner width=&#8221;1\/2&#8243;][vc_column_text]<\/p>\n<h2 style=\"text-align: center;\">\u2026and many others<\/h2>\n<p>[\/vc_column_text][\/vc_column_inner][vc_column_inner width=&#8221;1\/4&#8243;][\/vc_column_inner][\/vc_row_inner][\/vc_column][\/vc_row][vc_row][vc_column][vc_empty_space height=&#8221;30&#8243;][vc_empty_space height=&#8221;30&#8243;][\/vc_column][\/vc_row][vc_row][vc_column]<div id=\"ultimate-video-69446a9e500fc37e0\" class=\"ult-video  ult-adjust-bottom-margin ultimate-video-69446a9e500fc37e0 ultv-7761 \"><div class=\"ultv-video ultv-aspect-ratio-16_9 ultv-subscribe-responsive-none\" data-videotype=\"uv_iframe\">\n\t\t\t\t\t\t<div class=\"ultv-video__outer-wrap\" data-autoplay=\"0\" data-device=\"false\"  data-iconbg=\"#3A3A3A\" data-overcolor=\"\" data-defaultbg=\"#1f1f1e\" data-defaultplay=\"defaulticon\"><div class=\"ultv-video__play\" data-src=\"https:\/\/www.youtube.com\/embed\/HJRzUQMhJMQ?rel=0&amp;start&amp;end&amp;controls=1&amp;mute=0&amp;modestbranding=0&amp;autoplay=1\">\n\t\t\t\t\t\t\t\t<img class=\"ultv-video__thumb\" src=\"https:\/\/i.ytimg.com\/vi\/HJRzUQMhJMQ\/maxresdefault.jpg\"\/>\n\t\t\t\t\t\t\t\t<div class=\"ultv-video__play-icon  ultv-animation-none\" style=\"width:75px\"><svg height=\"100%\" version=\"1.1\" viewBox=\"0 0 68 48\" width=\"100%\"><path class=\"ultv-youtube-icon-bg\" d=\"m .66,37.62 c 0,0 .66,4.70 2.70,6.77 2.58,2.71 5.98,2.63 7.49,2.91 5.43,.52 23.10,.68 23.12,.68 .00,-1.3e-5 14.29,-0.02 23.81,-0.71 1.32,-0.15 4.22,-0.17 6.81,-2.89 2.03,-2.07 2.70,-6.77 2.70,-6.77 0,0 .67,-5.52 .67,-11.04 l 0,-5.17 c 0,-5.52 -0.67,-11.04 -0.67,-11.04 0,0 -0.66,-4.70 -2.70,-6.77 C 62.03,.86 59.13,.84 57.80,.69 48.28,0 34.00,0 34.00,0 33.97,0 19.69,0 10.18,.69 8.85,.84 5.95,.86 3.36,3.58 1.32,5.65 .66,10.35 .66,10.35 c 0,0 -0.55,4.50 -0.66,9.45 l 0,8.36 c .10,4.94 .66,9.45 .66,9.45 z\" fill=\"#1f1f1e\" ><\/path><path d=\"m 26.96,13.67 18.37,9.62 -18.37,9.55 -0.00,-19.17 z\" fill=\"#fff\"><\/path><path d=\"M 45.02,23.46 45.32,23.28 26.96,13.67 43.32,22.34 45.02,23.46 z\" fill=\"#ccc\"><\/path><\/svg><\/div> <\/div> <\/div><\/div><\/div>[\/vc_column][\/vc_row][vc_row][vc_column][vc_video][\/vc_column][\/vc_row]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Instructions and procedure for setting up Passwordless MFA\/2FA to the Keycloak interface. Simple to use with ProID.<\/p>\n","protected":false},"author":1,"featured_media":57991,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"episode_type":"","audio_file":"","cover_image":"","cover_image_id":"","duration":"","filesize":"","date_recorded":"","explicit":"","block":"","itunes_episode_number":"","itunes_title":"","itunes_season_number":"","itunes_episode_type":"","filesize_raw":""},"categories":[165,166],"tags":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How to set up multifactor authentication for Keycloak? &ndash; ProID<\/title>\n<meta name=\"description\" content=\"Instructions and procedure for setting up Passwordless MFA\/2FA to the Keycloak interface. Simple to use with ProID.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/proid.cz\/en\/multi-factor-authentication-to-keycloak\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to set up multifactor authentication for Keycloak? &ndash; ProID\" \/>\n<meta property=\"og:description\" content=\"Instructions and procedure for setting up Passwordless MFA\/2FA to the Keycloak interface. Simple to use with ProID.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/proid.cz\/en\/multi-factor-authentication-to-keycloak\/\" \/>\n<meta property=\"og:site_name\" content=\"ProID\" \/>\n<meta property=\"article:published_time\" content=\"2025-04-27T22:21:15+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-09-25T22:19:45+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/proid.cz\/wp-content\/uploads\/2025\/04\/keycloak-page.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"900\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Ivo Vr\u00e1na\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ivo Vr\u00e1na\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/proid.cz\/en\/multi-factor-authentication-to-keycloak\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/proid.cz\/en\/multi-factor-authentication-to-keycloak\/\"},\"author\":{\"name\":\"Ivo Vr\u00e1na\",\"@id\":\"https:\/\/proid.cz\/en\/#\/schema\/person\/c96348fffe68529d0af6287b6cf3683b\"},\"headline\":\"Multi-factor Authentication to Keycloak\",\"datePublished\":\"2025-04-27T22:21:15+00:00\",\"dateModified\":\"2025-09-25T22:19:45+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/proid.cz\/en\/multi-factor-authentication-to-keycloak\/\"},\"wordCount\":2001,\"publisher\":{\"@id\":\"https:\/\/proid.cz\/en\/#organization\"},\"articleSection\":[\"Integrace ProID Mobile\",\"Nov\u00e1 funkcionalita\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/proid.cz\/en\/multi-factor-authentication-to-keycloak\/\",\"url\":\"https:\/\/proid.cz\/en\/multi-factor-authentication-to-keycloak\/\",\"name\":\"How to set up multifactor authentication for Keycloak? &ndash; ProID\",\"isPartOf\":{\"@id\":\"https:\/\/proid.cz\/en\/#website\"},\"datePublished\":\"2025-04-27T22:21:15+00:00\",\"dateModified\":\"2025-09-25T22:19:45+00:00\",\"description\":\"Instructions and procedure for setting up Passwordless MFA\/2FA to the Keycloak interface. Simple to use with ProID.\",\"breadcrumb\":{\"@id\":\"https:\/\/proid.cz\/en\/multi-factor-authentication-to-keycloak\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/proid.cz\/en\/multi-factor-authentication-to-keycloak\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/proid.cz\/en\/multi-factor-authentication-to-keycloak\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Dom\u016f\",\"item\":\"https:\/\/proid.cz\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Multi-factor Authentication to Keycloak\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/proid.cz\/en\/#website\",\"url\":\"https:\/\/proid.cz\/en\/\",\"name\":\"ProID\",\"description\":\"Ultimate Digital Identity for Employees and Organisations\",\"publisher\":{\"@id\":\"https:\/\/proid.cz\/en\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/proid.cz\/en\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/proid.cz\/en\/#organization\",\"name\":\"ProID by MONET+\",\"url\":\"https:\/\/proid.cz\/en\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/proid.cz\/en\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/proid.cz\/wp-content\/uploads\/2021\/06\/logo_proid_1200x1200_white-680.png\",\"contentUrl\":\"https:\/\/proid.cz\/wp-content\/uploads\/2021\/06\/logo_proid_1200x1200_white-680.png\",\"width\":680,\"height\":680,\"caption\":\"ProID by MONET+\"},\"image\":{\"@id\":\"https:\/\/proid.cz\/en\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/proid.cz\/en\/#\/schema\/person\/c96348fffe68529d0af6287b6cf3683b\",\"name\":\"Ivo Vr\u00e1na\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/proid.cz\/en\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/9ef1e58a98bd86cfa05ba068e0234473?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/9ef1e58a98bd86cfa05ba068e0234473?s=96&d=mm&r=g\",\"caption\":\"Ivo Vr\u00e1na\"},\"description\":\"Product Marketing Manager\",\"sameAs\":[\"https:\/\/cz.linkedin.com\/in\/ivovrana\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to set up multifactor authentication for Keycloak? &ndash; ProID","description":"Instructions and procedure for setting up Passwordless MFA\/2FA to the Keycloak interface. Simple to use with ProID.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/proid.cz\/en\/multi-factor-authentication-to-keycloak\/","og_locale":"en_US","og_type":"article","og_title":"How to set up multifactor authentication for Keycloak? &ndash; ProID","og_description":"Instructions and procedure for setting up Passwordless MFA\/2FA to the Keycloak interface. Simple to use with ProID.","og_url":"https:\/\/proid.cz\/en\/multi-factor-authentication-to-keycloak\/","og_site_name":"ProID","article_published_time":"2025-04-27T22:21:15+00:00","article_modified_time":"2025-09-25T22:19:45+00:00","og_image":[{"width":1200,"height":900,"url":"https:\/\/proid.cz\/wp-content\/uploads\/2025\/04\/keycloak-page.png","type":"image\/png"}],"author":"Ivo Vr\u00e1na","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Ivo Vr\u00e1na","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/proid.cz\/en\/multi-factor-authentication-to-keycloak\/#article","isPartOf":{"@id":"https:\/\/proid.cz\/en\/multi-factor-authentication-to-keycloak\/"},"author":{"name":"Ivo Vr\u00e1na","@id":"https:\/\/proid.cz\/en\/#\/schema\/person\/c96348fffe68529d0af6287b6cf3683b"},"headline":"Multi-factor Authentication to Keycloak","datePublished":"2025-04-27T22:21:15+00:00","dateModified":"2025-09-25T22:19:45+00:00","mainEntityOfPage":{"@id":"https:\/\/proid.cz\/en\/multi-factor-authentication-to-keycloak\/"},"wordCount":2001,"publisher":{"@id":"https:\/\/proid.cz\/en\/#organization"},"articleSection":["Integrace ProID Mobile","Nov\u00e1 funkcionalita"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/proid.cz\/en\/multi-factor-authentication-to-keycloak\/","url":"https:\/\/proid.cz\/en\/multi-factor-authentication-to-keycloak\/","name":"How to set up multifactor authentication for Keycloak? &ndash; ProID","isPartOf":{"@id":"https:\/\/proid.cz\/en\/#website"},"datePublished":"2025-04-27T22:21:15+00:00","dateModified":"2025-09-25T22:19:45+00:00","description":"Instructions and procedure for setting up Passwordless MFA\/2FA to the Keycloak interface. Simple to use with ProID.","breadcrumb":{"@id":"https:\/\/proid.cz\/en\/multi-factor-authentication-to-keycloak\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/proid.cz\/en\/multi-factor-authentication-to-keycloak\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/proid.cz\/en\/multi-factor-authentication-to-keycloak\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Dom\u016f","item":"https:\/\/proid.cz\/en\/"},{"@type":"ListItem","position":2,"name":"Multi-factor Authentication to Keycloak"}]},{"@type":"WebSite","@id":"https:\/\/proid.cz\/en\/#website","url":"https:\/\/proid.cz\/en\/","name":"ProID","description":"Ultimate Digital Identity for Employees and Organisations","publisher":{"@id":"https:\/\/proid.cz\/en\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/proid.cz\/en\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/proid.cz\/en\/#organization","name":"ProID by MONET+","url":"https:\/\/proid.cz\/en\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/proid.cz\/en\/#\/schema\/logo\/image\/","url":"https:\/\/proid.cz\/wp-content\/uploads\/2021\/06\/logo_proid_1200x1200_white-680.png","contentUrl":"https:\/\/proid.cz\/wp-content\/uploads\/2021\/06\/logo_proid_1200x1200_white-680.png","width":680,"height":680,"caption":"ProID by MONET+"},"image":{"@id":"https:\/\/proid.cz\/en\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/proid.cz\/en\/#\/schema\/person\/c96348fffe68529d0af6287b6cf3683b","name":"Ivo Vr\u00e1na","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/proid.cz\/en\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/9ef1e58a98bd86cfa05ba068e0234473?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/9ef1e58a98bd86cfa05ba068e0234473?s=96&d=mm&r=g","caption":"Ivo Vr\u00e1na"},"description":"Product Marketing Manager","sameAs":["https:\/\/cz.linkedin.com\/in\/ivovrana"]}]}},"_links":{"self":[{"href":"https:\/\/proid.cz\/en\/wp-json\/wp\/v2\/posts\/57528"}],"collection":[{"href":"https:\/\/proid.cz\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/proid.cz\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/proid.cz\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/proid.cz\/en\/wp-json\/wp\/v2\/comments?post=57528"}],"version-history":[{"count":17,"href":"https:\/\/proid.cz\/en\/wp-json\/wp\/v2\/posts\/57528\/revisions"}],"predecessor-version":[{"id":75882,"href":"https:\/\/proid.cz\/en\/wp-json\/wp\/v2\/posts\/57528\/revisions\/75882"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/proid.cz\/en\/wp-json\/wp\/v2\/media\/57991"}],"wp:attachment":[{"href":"https:\/\/proid.cz\/en\/wp-json\/wp\/v2\/media?parent=57528"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/proid.cz\/en\/wp-json\/wp\/v2\/categories?post=57528"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/proid.cz\/en\/wp-json\/wp\/v2\/tags?post=57528"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}