{"id":27123,"date":"2026-07-09T15:02:19","date_gmt":"2026-07-09T13:02:19","guid":{"rendered":"https:\/\/weare.fi\/?p=27123"},"modified":"2026-07-09T15:07:18","modified_gmt":"2026-07-09T13:07:18","slug":"azure-ad-oidc-iss-claim-tunnistus","status":"publish","type":"post","link":"https:\/\/weare.fi\/en\/azure-ad-oidc-iss-claim-tunnistus\/","title":{"rendered":"OIDC iss claim haasteet ja Azure AD tunnistus"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"27123\" class=\"elementor elementor-27123\" data-elementor-settings=\"{&quot;ha_cmc_init_switcher&quot;:&quot;no&quot;}\" data-elementor-post-type=\"post\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-30a7f79f elementor-section-content-middle elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"30a7f79f\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;motion_fx_opacity_range&quot;:{&quot;unit&quot;:&quot;%&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:{&quot;start&quot;:20,&quot;end&quot;:30}},&quot;sticky&quot;:&quot;top&quot;,&quot;motion_fx_motion_fx_scrolling&quot;:&quot;yes&quot;,&quot;motion_fx_opacity_effect&quot;:&quot;yes&quot;,&quot;_ha_eqh_enable&quot;:false,&quot;motion_fx_opacity_direction&quot;:&quot;out-in&quot;,&quot;motion_fx_opacity_level&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:10,&quot;sizes&quot;:[]},&quot;motion_fx_devices&quot;:[&quot;desktop&quot;,&quot;tablet_extra&quot;,&quot;tablet&quot;,&quot;mobile_extra&quot;,&quot;mobile&quot;],&quot;sticky_on&quot;:[&quot;desktop&quot;,&quot;tablet_extra&quot;,&quot;tablet&quot;,&quot;mobile_extra&quot;,&quot;mobile&quot;],&quot;sticky_offset&quot;:0,&quot;sticky_effects_offset&quot;:0,&quot;sticky_anchor_link_offset&quot;:0}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-25 elementor-top-column elementor-element elementor-element-338c91c9\" data-id=\"338c91c9\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-395c126a elementor-widget elementor-widget-theme-site-logo elementor-widget-image\" data-id=\"395c126a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"theme-site-logo.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/weare.fi\/en\">\n\t\t\t<img decoding=\"async\" width=\"429\" height=\"89\" src=\"https:\/\/weare.fi\/wp-content\/uploads\/2021\/10\/pieni_logo_horiso@2x-78x16.png\" class=\"attachment-full size-full wp-image-2197\" alt=\"\" srcset=\"https:\/\/weare.fi\/wp-content\/uploads\/2021\/10\/pieni_logo_horiso@2x.png 429w, https:\/\/weare.fi\/wp-content\/uploads\/2021\/10\/pieni_logo_horiso@2x-300x62.png 300w, https:\/\/weare.fi\/wp-content\/uploads\/2021\/10\/pieni_logo_horiso@2x-18x4.png 18w, https:\/\/weare.fi\/wp-content\/uploads\/2021\/10\/pieni_logo_horiso@2x-78x16.png 78w\" sizes=\"(max-width: 429px) 100vw, 429px\" \/>\t\t\t\t<\/a>\n\t\t\t\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<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-25 elementor-top-column elementor-element elementor-element-7427e1f7\" data-id=\"7427e1f7\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-3d3265b8 elementor-nav-menu__align-end header elementor-nav-menu--dropdown-tablet_extra elementor-hidden-tablet_extra elementor-hidden-tablet elementor-hidden-mobile_extra elementor-hidden-mobile elementor-nav-menu__text-align-aside elementor-nav-menu--toggle elementor-nav-menu--burger elementor-widget elementor-widget-nav-menu\" data-id=\"3d3265b8\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;submenu_icon&quot;:{&quot;value&quot;:&quot;&lt;i class=\\&quot;fas fa-chevron-down\\&quot; aria-hidden=\\&quot;true\\&quot;&gt;&lt;\\\/i&gt;&quot;,&quot;library&quot;:&quot;fa-solid&quot;},&quot;layout&quot;:&quot;horizontal&quot;,&quot;toggle&quot;:&quot;burger&quot;}\" data-widget_type=\"nav-menu.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<nav aria-label=\"Menu\" class=\"elementor-nav-menu--main elementor-nav-menu__container elementor-nav-menu--layout-horizontal e--pointer-none\">\n\t\t\t\t<ul id=\"menu-1-3d3265b8\" class=\"elementor-nav-menu\"><li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-16592\"><a aria-expanded=\"false\" href=\"https:\/\/weare.fi\/en\/splunk-konsultointipalvelut\/\" class=\"elementor-item menu-link\">Splunk<span role=\"button\" class=\"dropdown-menu-toggle ast-header-navigation-arrow\" tabindex=\"0\" aria-expanded=\"false\" aria-label=\"Menu Toggle\" aria-haspopup=\"true\"><\/span><\/a>\n<ul class=\"sub-menu elementor-nav-menu--dropdown\">\n\t<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-25551\"><a href=\"https:\/\/weare.fi\/en\/splunk-enterprise-pricing\/\" class=\"elementor-sub-item menu-link\">Splunk Enterprice Pricing<\/a><\/li>\n<\/ul>\n<\/li>\n<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-24023\"><a aria-expanded=\"false\" href=\"https:\/\/weare.fi\/en\/splunk-konsultointipalvelut\/observability\/\" class=\"elementor-item menu-link\">Observability<span role=\"button\" class=\"dropdown-menu-toggle ast-header-navigation-arrow\" tabindex=\"0\" aria-expanded=\"false\" aria-label=\"Menu Toggle\" aria-haspopup=\"true\"><\/span><\/a>\n<ul class=\"sub-menu elementor-nav-menu--dropdown\">\n\t<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-19823\"><a href=\"https:\/\/weare.fi\/en\/splunk-konsultointipalvelut\/observability-as-a-service\/\" class=\"elementor-sub-item menu-link\">Observointi palveluna<\/a><\/li>\n\t<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-21974\"><a href=\"https:\/\/weare.fi\/en\/palvelut\/weare-observability-hub\/\" class=\"elementor-sub-item menu-link\">Observability Hub<\/a><\/li>\n\t<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-24069\"><a href=\"https:\/\/weare.fi\/en\/free-observability-maturity-assessment\/\" class=\"elementor-sub-item menu-link\">Free Observability Maturity Assessment<\/a><\/li>\n\t<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-25944\"><a href=\"https:\/\/weare.fi\/en\/observability-e-book-full-visibility-in-distributed-architecture\/\" class=\"elementor-sub-item menu-link\">Observability Playbook<\/a><\/li>\n<\/ul>\n<\/li>\n<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-23594\"><a aria-expanded=\"false\" href=\"https:\/\/weare.fi\/en\/atlassian-solutions-consulting-services\/\" class=\"elementor-item menu-link\">Atlassian<span role=\"button\" class=\"dropdown-menu-toggle ast-header-navigation-arrow\" tabindex=\"0\" aria-expanded=\"false\" aria-label=\"Menu Toggle\" aria-haspopup=\"true\"><\/span><\/a>\n<ul class=\"sub-menu elementor-nav-menu--dropdown\">\n\t<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-23595\"><a href=\"https:\/\/weare.fi\/en\/atlassian-solutions-consulting-services\/jira-consulting\/\" class=\"elementor-sub-item menu-link\">Jira Services<\/a><\/li>\n<\/ul>\n<\/li>\n<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-2467\"><a aria-expanded=\"false\" href=\"https:\/\/weare.fi\/en\/uutiset\/\" class=\"elementor-item menu-link\">Blogs<span role=\"button\" class=\"dropdown-menu-toggle ast-header-navigation-arrow\" tabindex=\"0\" aria-expanded=\"false\" aria-label=\"Menu Toggle\" aria-haspopup=\"true\"><\/span><\/a>\n<ul class=\"sub-menu elementor-nav-menu--dropdown\">\n\t<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-19720\"><a href=\"https:\/\/weare.fi\/en\/asiakastarinat\/\" class=\"elementor-sub-item menu-link\">Asiakastarinat<\/a><\/li>\n<\/ul>\n<\/li>\n<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-12800\"><a aria-expanded=\"false\" href=\"https:\/\/weare.fi\/en\/meista\/\" class=\"elementor-item menu-link\">Meist\u00e4<span role=\"button\" class=\"dropdown-menu-toggle ast-header-navigation-arrow\" tabindex=\"0\" aria-expanded=\"false\" aria-label=\"Menu Toggle\" aria-haspopup=\"true\"><\/span><\/a>\n<ul class=\"sub-menu elementor-nav-menu--dropdown\">\n\t<li class=\"menu-item menu-item-type-custom menu-item-object-custom menu-item-11982\"><a href=\"https:\/\/careers.weare.fi\/\" class=\"elementor-sub-item menu-link\">Rekrytointi<\/a><\/li>\n\t<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-2753\"><a href=\"https:\/\/weare.fi\/en\/meista\/yritysvastuullisuus\/\" class=\"elementor-sub-item menu-link\">Yritysvastuullisuus<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\t\t\t<\/nav>\n\t\t\t\t\t<div class=\"elementor-menu-toggle\" role=\"button\" tabindex=\"0\" aria-label=\"Menu Toggle\" aria-expanded=\"false\">\n\t\t\t<i aria-hidden=\"true\" role=\"presentation\" class=\"elementor-menu-toggle__icon--open eicon-menu-bar\"><\/i><i aria-hidden=\"true\" role=\"presentation\" class=\"elementor-menu-toggle__icon--close eicon-close\"><\/i>\t\t<\/div>\n\t\t\t\t\t<nav class=\"elementor-nav-menu--dropdown elementor-nav-menu__container\" aria-hidden=\"true\">\n\t\t\t\t<ul id=\"menu-2-3d3265b8\" class=\"elementor-nav-menu\"><li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-16592\"><a aria-expanded=\"false\" href=\"https:\/\/weare.fi\/en\/splunk-konsultointipalvelut\/\" class=\"elementor-item menu-link\" tabindex=\"-1\">Splunk<span role=\"button\" class=\"dropdown-menu-toggle ast-header-navigation-arrow\" tabindex=\"0\" aria-expanded=\"false\" aria-label=\"Menu Toggle\" aria-haspopup=\"true\"><\/span><\/a>\n<ul class=\"sub-menu elementor-nav-menu--dropdown\">\n\t<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-25551\"><a href=\"https:\/\/weare.fi\/en\/splunk-enterprise-pricing\/\" class=\"elementor-sub-item menu-link\" tabindex=\"-1\">Splunk Enterprice Pricing<\/a><\/li>\n<\/ul>\n<\/li>\n<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-24023\"><a aria-expanded=\"false\" href=\"https:\/\/weare.fi\/en\/splunk-konsultointipalvelut\/observability\/\" class=\"elementor-item menu-link\" tabindex=\"-1\">Observability<span role=\"button\" class=\"dropdown-menu-toggle ast-header-navigation-arrow\" tabindex=\"0\" aria-expanded=\"false\" aria-label=\"Menu Toggle\" aria-haspopup=\"true\"><\/span><\/a>\n<ul class=\"sub-menu elementor-nav-menu--dropdown\">\n\t<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-19823\"><a href=\"https:\/\/weare.fi\/en\/splunk-konsultointipalvelut\/observability-as-a-service\/\" class=\"elementor-sub-item menu-link\" tabindex=\"-1\">Observointi palveluna<\/a><\/li>\n\t<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-21974\"><a href=\"https:\/\/weare.fi\/en\/palvelut\/weare-observability-hub\/\" class=\"elementor-sub-item menu-link\" tabindex=\"-1\">Observability Hub<\/a><\/li>\n\t<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-24069\"><a href=\"https:\/\/weare.fi\/en\/free-observability-maturity-assessment\/\" class=\"elementor-sub-item menu-link\" tabindex=\"-1\">Free Observability Maturity Assessment<\/a><\/li>\n\t<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-25944\"><a href=\"https:\/\/weare.fi\/en\/observability-e-book-full-visibility-in-distributed-architecture\/\" class=\"elementor-sub-item menu-link\" tabindex=\"-1\">Observability Playbook<\/a><\/li>\n<\/ul>\n<\/li>\n<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-23594\"><a aria-expanded=\"false\" href=\"https:\/\/weare.fi\/en\/atlassian-solutions-consulting-services\/\" class=\"elementor-item menu-link\" tabindex=\"-1\">Atlassian<span role=\"button\" class=\"dropdown-menu-toggle ast-header-navigation-arrow\" tabindex=\"0\" aria-expanded=\"false\" aria-label=\"Menu Toggle\" aria-haspopup=\"true\"><\/span><\/a>\n<ul class=\"sub-menu elementor-nav-menu--dropdown\">\n\t<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-23595\"><a href=\"https:\/\/weare.fi\/en\/atlassian-solutions-consulting-services\/jira-consulting\/\" class=\"elementor-sub-item menu-link\" tabindex=\"-1\">Jira Services<\/a><\/li>\n<\/ul>\n<\/li>\n<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-2467\"><a aria-expanded=\"false\" href=\"https:\/\/weare.fi\/en\/uutiset\/\" class=\"elementor-item menu-link\" tabindex=\"-1\">Blogs<span role=\"button\" class=\"dropdown-menu-toggle ast-header-navigation-arrow\" tabindex=\"0\" aria-expanded=\"false\" aria-label=\"Menu Toggle\" aria-haspopup=\"true\"><\/span><\/a>\n<ul class=\"sub-menu elementor-nav-menu--dropdown\">\n\t<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-19720\"><a href=\"https:\/\/weare.fi\/en\/asiakastarinat\/\" class=\"elementor-sub-item menu-link\" tabindex=\"-1\">Asiakastarinat<\/a><\/li>\n<\/ul>\n<\/li>\n<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-12800\"><a aria-expanded=\"false\" href=\"https:\/\/weare.fi\/en\/meista\/\" class=\"elementor-item menu-link\" tabindex=\"-1\">Meist\u00e4<span role=\"button\" class=\"dropdown-menu-toggle ast-header-navigation-arrow\" tabindex=\"0\" aria-expanded=\"false\" aria-label=\"Menu Toggle\" aria-haspopup=\"true\"><\/span><\/a>\n<ul class=\"sub-menu elementor-nav-menu--dropdown\">\n\t<li class=\"menu-item menu-item-type-custom menu-item-object-custom menu-item-11982\"><a href=\"https:\/\/careers.weare.fi\/\" class=\"elementor-sub-item menu-link\" tabindex=\"-1\">Rekrytointi<\/a><\/li>\n\t<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-2753\"><a href=\"https:\/\/weare.fi\/en\/meista\/yritysvastuullisuus\/\" class=\"elementor-sub-item menu-link\" tabindex=\"-1\">Yritysvastuullisuus<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\t\t\t<\/nav>\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-1cdb4865 elementor-nav-menu__align-end header elementor-nav-menu--dropdown-tablet_extra elementor-hidden-desktop elementor-nav-menu--stretch elementor-nav-menu__text-align-aside elementor-nav-menu--toggle elementor-nav-menu--burger elementor-widget elementor-widget-nav-menu\" data-id=\"1cdb4865\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;submenu_icon&quot;:{&quot;value&quot;:&quot;&lt;i class=\\&quot;fas fa-chevron-down\\&quot; aria-hidden=\\&quot;true\\&quot;&gt;&lt;\\\/i&gt;&quot;,&quot;library&quot;:&quot;fa-solid&quot;},&quot;full_width&quot;:&quot;stretch&quot;,&quot;layout&quot;:&quot;horizontal&quot;,&quot;toggle&quot;:&quot;burger&quot;}\" data-widget_type=\"nav-menu.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<nav aria-label=\"Menu\" class=\"elementor-nav-menu--main elementor-nav-menu__container elementor-nav-menu--layout-horizontal e--pointer-none\">\n\t\t\t\t<ul id=\"menu-1-1cdb4865\" class=\"elementor-nav-menu\"><li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-17209\"><a aria-expanded=\"false\" href=\"https:\/\/weare.fi\/en\/splunk-konsultointipalvelut\/\" class=\"elementor-item menu-link\">Splunk<span role=\"button\" class=\"dropdown-menu-toggle ast-header-navigation-arrow\" tabindex=\"0\" aria-expanded=\"false\" aria-label=\"Menu Toggle\" aria-haspopup=\"true\"><\/span><\/a>\n<ul class=\"sub-menu elementor-nav-menu--dropdown\">\n\t<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-25724\"><a href=\"https:\/\/weare.fi\/en\/splunk-enterprise-pricing\/\" class=\"elementor-sub-item menu-link\">Splunk Enterprice Pricing<\/a><\/li>\n<\/ul>\n<\/li>\n<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-25727\"><a aria-expanded=\"false\" href=\"https:\/\/weare.fi\/en\/splunk-konsultointipalvelut\/observability\/\" class=\"elementor-item menu-link\">Observability<span role=\"button\" class=\"dropdown-menu-toggle ast-header-navigation-arrow\" tabindex=\"0\" aria-expanded=\"false\" aria-label=\"Menu Toggle\" aria-haspopup=\"true\"><\/span><\/a>\n<ul class=\"sub-menu elementor-nav-menu--dropdown\">\n\t<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-25726\"><a href=\"https:\/\/weare.fi\/en\/splunk-konsultointipalvelut\/observability-as-a-service\/\" class=\"elementor-sub-item menu-link\">Observability as a Service<\/a><\/li>\n\t<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-25725\"><a href=\"https:\/\/weare.fi\/en\/palvelut\/weare-observability-hub\/\" class=\"elementor-sub-item menu-link\">Observability Hub<\/a><\/li>\n\t<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-25728\"><a href=\"https:\/\/weare.fi\/en\/free-observability-maturity-assessment\/\" class=\"elementor-sub-item menu-link\">Free Observability Maturity Assessment<\/a><\/li>\n\t<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-25945\"><a href=\"https:\/\/weare.fi\/en\/observability-e-book-full-visibility-in-distributed-architecture\/\" class=\"elementor-sub-item menu-link\">Observability Playbook<\/a><\/li>\n<\/ul>\n<\/li>\n<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-23719\"><a aria-expanded=\"false\" href=\"https:\/\/weare.fi\/en\/atlassian-solutions-consulting-services\/\" class=\"elementor-item menu-link\">Atlassian<span role=\"button\" class=\"dropdown-menu-toggle ast-header-navigation-arrow\" tabindex=\"0\" aria-expanded=\"false\" aria-label=\"Menu Toggle\" aria-haspopup=\"true\"><\/span><\/a>\n<ul class=\"sub-menu elementor-nav-menu--dropdown\">\n\t<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-23720\"><a href=\"https:\/\/weare.fi\/en\/atlassian-solutions-consulting-services\/jira-consulting\/\" class=\"elementor-sub-item menu-link\">Jira<\/a><\/li>\n<\/ul>\n<\/li>\n<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-2632\"><a aria-expanded=\"false\" href=\"https:\/\/weare.fi\/en\/uutiset\/\" class=\"elementor-item menu-link\">Blogs<span role=\"button\" class=\"dropdown-menu-toggle ast-header-navigation-arrow\" tabindex=\"0\" aria-expanded=\"false\" aria-label=\"Menu Toggle\" aria-haspopup=\"true\"><\/span><\/a>\n<ul class=\"sub-menu elementor-nav-menu--dropdown\">\n\t<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-19721\"><a href=\"https:\/\/weare.fi\/en\/asiakastarinat\/\" class=\"elementor-sub-item menu-link\">Asiakastarinat<\/a><\/li>\n<\/ul>\n<\/li>\n<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-12801\"><a aria-expanded=\"false\" href=\"https:\/\/weare.fi\/en\/meista\/\" class=\"elementor-item menu-link\">Meist\u00e4<span role=\"button\" class=\"dropdown-menu-toggle ast-header-navigation-arrow\" tabindex=\"0\" aria-expanded=\"false\" aria-label=\"Menu Toggle\" aria-haspopup=\"true\"><\/span><\/a>\n<ul class=\"sub-menu elementor-nav-menu--dropdown\">\n\t<li class=\"menu-item menu-item-type-custom menu-item-object-custom menu-item-11990\"><a href=\"https:\/\/careers.weare.fi\/\" class=\"elementor-sub-item menu-link\">Rekrytointi<\/a><\/li>\n\t<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-4801\"><a href=\"https:\/\/weare.fi\/en\/meista\/yritysvastuullisuus\/\" class=\"elementor-sub-item menu-link\">Yritysvastuullisuus<\/a><\/li>\n<\/ul>\n<\/li>\n<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-13935\"><a href=\"https:\/\/weare.fi\/en\/ota-yhteytta\/\" class=\"elementor-item menu-link\">Ota yhteytt\u00e4<\/a><\/li>\n<li class=\"trp-language-switcher-container menu-item menu-item-type-post_type menu-item-object-language_switcher current-language-menu-item menu-item-2636\"><a href=\"https:\/\/weare.fi\/en\/wp-json\/wp\/v2\/posts\/27123#TRPLINKPROCESSED\" class=\"elementor-item elementor-item-anchor menu-link\"><span data-no-translation><img decoding=\"async\" class=\"trp-flag-image\" src=\"https:\/\/weare.fi\/wp-content\/plugins\/translatepress-multilingual\/assets\/images\/flags\/fi.png\" width=\"18\" height=\"12\" alt=\"fi\" title=\"Finnish\"><span class=\"trp-ls-language-name\">FI<\/span><\/span><\/a><\/li>\n<li class=\"trp-language-switcher-container menu-item menu-item-type-post_type menu-item-object-language_switcher current-language-menu-item menu-item-2634\"><a href=\"https:\/\/weare.fi\/en\/wp-json\/wp\/v2\/posts\/27123#TRPLINKPROCESSED\" class=\"elementor-item elementor-item-anchor menu-link\"><span data-no-translation><img decoding=\"async\" class=\"trp-flag-image\" src=\"https:\/\/weare.fi\/wp-content\/plugins\/translatepress-multilingual\/assets\/images\/flags\/en_GB.png\" width=\"18\" height=\"12\" alt=\"en_GB\" title=\"English\"><span class=\"trp-ls-language-name\">EN<\/span><\/span><\/a><\/li>\n<\/ul>\t\t\t<\/nav>\n\t\t\t\t\t<div class=\"elementor-menu-toggle\" role=\"button\" tabindex=\"0\" aria-label=\"Menu Toggle\" aria-expanded=\"false\">\n\t\t\t<i aria-hidden=\"true\" role=\"presentation\" class=\"elementor-menu-toggle__icon--open eicon-menu-bar\"><\/i><i aria-hidden=\"true\" role=\"presentation\" class=\"elementor-menu-toggle__icon--close eicon-close\"><\/i>\t\t<\/div>\n\t\t\t\t\t<nav class=\"elementor-nav-menu--dropdown elementor-nav-menu__container\" aria-hidden=\"true\">\n\t\t\t\t<ul id=\"menu-2-1cdb4865\" class=\"elementor-nav-menu\"><li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-17209\"><a aria-expanded=\"false\" href=\"https:\/\/weare.fi\/en\/splunk-konsultointipalvelut\/\" class=\"elementor-item menu-link\" tabindex=\"-1\">Splunk<span role=\"button\" class=\"dropdown-menu-toggle ast-header-navigation-arrow\" tabindex=\"0\" aria-expanded=\"false\" aria-label=\"Menu Toggle\" aria-haspopup=\"true\"><\/span><\/a>\n<ul class=\"sub-menu elementor-nav-menu--dropdown\">\n\t<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-25724\"><a href=\"https:\/\/weare.fi\/en\/splunk-enterprise-pricing\/\" class=\"elementor-sub-item menu-link\" tabindex=\"-1\">Splunk Enterprice Pricing<\/a><\/li>\n<\/ul>\n<\/li>\n<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-25727\"><a aria-expanded=\"false\" href=\"https:\/\/weare.fi\/en\/splunk-konsultointipalvelut\/observability\/\" class=\"elementor-item menu-link\" tabindex=\"-1\">Observability<span role=\"button\" class=\"dropdown-menu-toggle ast-header-navigation-arrow\" tabindex=\"0\" aria-expanded=\"false\" aria-label=\"Menu Toggle\" aria-haspopup=\"true\"><\/span><\/a>\n<ul class=\"sub-menu elementor-nav-menu--dropdown\">\n\t<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-25726\"><a href=\"https:\/\/weare.fi\/en\/splunk-konsultointipalvelut\/observability-as-a-service\/\" class=\"elementor-sub-item menu-link\" tabindex=\"-1\">Observability as a Service<\/a><\/li>\n\t<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-25725\"><a href=\"https:\/\/weare.fi\/en\/palvelut\/weare-observability-hub\/\" class=\"elementor-sub-item menu-link\" tabindex=\"-1\">Observability Hub<\/a><\/li>\n\t<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-25728\"><a href=\"https:\/\/weare.fi\/en\/free-observability-maturity-assessment\/\" class=\"elementor-sub-item menu-link\" tabindex=\"-1\">Free Observability Maturity Assessment<\/a><\/li>\n\t<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-25945\"><a href=\"https:\/\/weare.fi\/en\/observability-e-book-full-visibility-in-distributed-architecture\/\" class=\"elementor-sub-item menu-link\" tabindex=\"-1\">Observability Playbook<\/a><\/li>\n<\/ul>\n<\/li>\n<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-23719\"><a aria-expanded=\"false\" href=\"https:\/\/weare.fi\/en\/atlassian-solutions-consulting-services\/\" class=\"elementor-item menu-link\" tabindex=\"-1\">Atlassian<span role=\"button\" class=\"dropdown-menu-toggle ast-header-navigation-arrow\" tabindex=\"0\" aria-expanded=\"false\" aria-label=\"Menu Toggle\" aria-haspopup=\"true\"><\/span><\/a>\n<ul class=\"sub-menu elementor-nav-menu--dropdown\">\n\t<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-23720\"><a href=\"https:\/\/weare.fi\/en\/atlassian-solutions-consulting-services\/jira-consulting\/\" class=\"elementor-sub-item menu-link\" tabindex=\"-1\">Jira<\/a><\/li>\n<\/ul>\n<\/li>\n<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-2632\"><a aria-expanded=\"false\" href=\"https:\/\/weare.fi\/en\/uutiset\/\" class=\"elementor-item menu-link\" tabindex=\"-1\">Blogs<span role=\"button\" class=\"dropdown-menu-toggle ast-header-navigation-arrow\" tabindex=\"0\" aria-expanded=\"false\" aria-label=\"Menu Toggle\" aria-haspopup=\"true\"><\/span><\/a>\n<ul class=\"sub-menu elementor-nav-menu--dropdown\">\n\t<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-19721\"><a href=\"https:\/\/weare.fi\/en\/asiakastarinat\/\" class=\"elementor-sub-item menu-link\" tabindex=\"-1\">Asiakastarinat<\/a><\/li>\n<\/ul>\n<\/li>\n<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-12801\"><a aria-expanded=\"false\" href=\"https:\/\/weare.fi\/en\/meista\/\" class=\"elementor-item menu-link\" tabindex=\"-1\">Meist\u00e4<span role=\"button\" class=\"dropdown-menu-toggle ast-header-navigation-arrow\" tabindex=\"0\" aria-expanded=\"false\" aria-label=\"Menu Toggle\" aria-haspopup=\"true\"><\/span><\/a>\n<ul class=\"sub-menu elementor-nav-menu--dropdown\">\n\t<li class=\"menu-item menu-item-type-custom menu-item-object-custom menu-item-11990\"><a href=\"https:\/\/careers.weare.fi\/\" class=\"elementor-sub-item menu-link\" tabindex=\"-1\">Rekrytointi<\/a><\/li>\n\t<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-4801\"><a href=\"https:\/\/weare.fi\/en\/meista\/yritysvastuullisuus\/\" class=\"elementor-sub-item menu-link\" tabindex=\"-1\">Yritysvastuullisuus<\/a><\/li>\n<\/ul>\n<\/li>\n<li class=\"menu-item menu-item-type-post_type menu-item-object-page menu-item-13935\"><a href=\"https:\/\/weare.fi\/en\/ota-yhteytta\/\" class=\"elementor-item menu-link\" tabindex=\"-1\">Ota yhteytt\u00e4<\/a><\/li>\n<li class=\"trp-language-switcher-container menu-item menu-item-type-post_type menu-item-object-language_switcher current-language-menu-item menu-item-2636\"><a href=\"https:\/\/weare.fi\/en\/wp-json\/wp\/v2\/posts\/27123#TRPLINKPROCESSED\" class=\"elementor-item elementor-item-anchor menu-link\" tabindex=\"-1\"><span data-no-translation><img decoding=\"async\" class=\"trp-flag-image\" src=\"https:\/\/weare.fi\/wp-content\/plugins\/translatepress-multilingual\/assets\/images\/flags\/fi.png\" width=\"18\" height=\"12\" alt=\"fi\" title=\"Finnish\"><span class=\"trp-ls-language-name\">FI<\/span><\/span><\/a><\/li>\n<li class=\"trp-language-switcher-container menu-item menu-item-type-post_type menu-item-object-language_switcher current-language-menu-item menu-item-2634\"><a href=\"https:\/\/weare.fi\/en\/wp-json\/wp\/v2\/posts\/27123#TRPLINKPROCESSED\" class=\"elementor-item elementor-item-anchor menu-link\" tabindex=\"-1\"><span data-no-translation><img decoding=\"async\" class=\"trp-flag-image\" src=\"https:\/\/weare.fi\/wp-content\/plugins\/translatepress-multilingual\/assets\/images\/flags\/en_GB.png\" width=\"18\" height=\"12\" alt=\"en_GB\" title=\"English\"><span class=\"trp-ls-language-name\">EN<\/span><\/span><\/a><\/li>\n<\/ul>\t\t\t<\/nav>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-25 elementor-top-column elementor-element elementor-element-159d77ef elementor-hidden-mobile\" data-id=\"159d77ef\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-38e99ce6 elementor-hidden-tablet_extra elementor-hidden-tablet elementor-hidden-mobile_extra elementor-hidden-mobile elementor-widget elementor-widget-button\" data-id=\"38e99ce6\" 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=\"\/ota-yhteytta\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Ota yhteytt\u00e4<\/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<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-25 elementor-top-column elementor-element elementor-element-52e0c118 elementor-hidden-mobile\" data-id=\"52e0c118\" data-element_type=\"column\" data-e-type=\"column\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-e079aea elementor-nav-menu__align-center elementor-hidden-tablet_extra elementor-hidden-tablet elementor-hidden-mobile_extra elementor-hidden-mobile elementor-nav-menu--dropdown-tablet elementor-nav-menu__text-align-aside elementor-widget elementor-widget-nav-menu\" data-id=\"e079aea\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;submenu_icon&quot;:{&quot;value&quot;:&quot;&lt;i class=\\&quot;fas fa-globe\\&quot; aria-hidden=\\&quot;true\\&quot;&gt;&lt;\\\/i&gt;&quot;,&quot;library&quot;:&quot;fa-solid&quot;},&quot;layout&quot;:&quot;horizontal&quot;}\" data-widget_type=\"nav-menu.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t<nav aria-label=\"Menu\" class=\"elementor-nav-menu--main elementor-nav-menu__container elementor-nav-menu--layout-horizontal e--pointer-none\">\n\t\t\t\t<ul id=\"menu-1-e079aea\" class=\"elementor-nav-menu\"><li class=\"trp-language-switcher-container menu-item menu-item-type-post_type menu-item-object-language_switcher current-language-menu-item menu-item-2418\"><a href=\"https:\/\/weare.fi\/en\/wp-json\/wp\/v2\/posts\/27123#TRPLINKPROCESSED\" class=\"elementor-item elementor-item-anchor menu-link\"><span data-no-translation><img decoding=\"async\" class=\"trp-flag-image\" src=\"https:\/\/weare.fi\/wp-content\/plugins\/translatepress-multilingual\/assets\/images\/flags\/en_GB.png\" width=\"18\" height=\"12\" alt=\"en_GB\" title=\"English\"><span class=\"trp-ls-language-name\">EN<\/span><\/span><\/a><\/li>\n<li class=\"trp-language-switcher-container menu-item menu-item-type-post_type menu-item-object-language_switcher current-language-menu-item menu-item-2420\"><a href=\"https:\/\/weare.fi\/en\/wp-json\/wp\/v2\/posts\/27123#TRPLINKPROCESSED\" class=\"elementor-item elementor-item-anchor menu-link\"><span data-no-translation><img decoding=\"async\" class=\"trp-flag-image\" src=\"https:\/\/weare.fi\/wp-content\/plugins\/translatepress-multilingual\/assets\/images\/flags\/fi.png\" width=\"18\" height=\"12\" alt=\"fi\" title=\"Finnish\"><span class=\"trp-ls-language-name\">FI<\/span><\/span><\/a><\/li>\n<\/ul>\t\t\t<\/nav>\n\t\t\t\t\t\t<nav class=\"elementor-nav-menu--dropdown elementor-nav-menu__container\" aria-hidden=\"true\">\n\t\t\t\t<ul id=\"menu-2-e079aea\" class=\"elementor-nav-menu\"><li class=\"trp-language-switcher-container menu-item menu-item-type-post_type menu-item-object-language_switcher current-language-menu-item menu-item-2418\"><a href=\"https:\/\/weare.fi\/en\/wp-json\/wp\/v2\/posts\/27123#TRPLINKPROCESSED\" class=\"elementor-item elementor-item-anchor menu-link\" tabindex=\"-1\"><span data-no-translation><img decoding=\"async\" class=\"trp-flag-image\" src=\"https:\/\/weare.fi\/wp-content\/plugins\/translatepress-multilingual\/assets\/images\/flags\/en_GB.png\" width=\"18\" height=\"12\" alt=\"en_GB\" title=\"English\"><span class=\"trp-ls-language-name\">EN<\/span><\/span><\/a><\/li>\n<li class=\"trp-language-switcher-container menu-item menu-item-type-post_type menu-item-object-language_switcher current-language-menu-item menu-item-2420\"><a href=\"https:\/\/weare.fi\/en\/wp-json\/wp\/v2\/posts\/27123#TRPLINKPROCESSED\" class=\"elementor-item elementor-item-anchor menu-link\" tabindex=\"-1\"><span data-no-translation><img decoding=\"async\" class=\"trp-flag-image\" src=\"https:\/\/weare.fi\/wp-content\/plugins\/translatepress-multilingual\/assets\/images\/flags\/fi.png\" width=\"18\" height=\"12\" alt=\"fi\" title=\"Finnish\"><span class=\"trp-ls-language-name\">FI<\/span><\/span><\/a><\/li>\n<\/ul>\t\t\t<\/nav>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-4b91cd6c elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"4b91cd6c\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;shape_divider_bottom&quot;:&quot;tilt&quot;}\">\n\t\t\t\t\t<div class=\"elementor-shape elementor-shape-bottom\" aria-hidden=\"true\" data-negative=\"false\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 1000 100\" preserveAspectRatio=\"none\">\n\t<path class=\"elementor-shape-fill\" d=\"M0,6V0h1000v100L0,6z\"\/>\n<\/svg>\t\t<\/div>\n\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-60aa8fa0\" data-id=\"60aa8fa0\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-215e112 elementor-widget elementor-widget-spacer\" data-id=\"215e112\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/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<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-30b7c61a elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"30b7c61a\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;_ha_eqh_enable&quot;:false}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-18b1490b\" data-id=\"18b1490b\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-26cd67c elementor-widget elementor-widget-spacer\" data-id=\"26cd67c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\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-b89341c elementor-widget elementor-widget-image\" data-id=\"b89341c\" 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=\"1024\" height=\"576\" src=\"https:\/\/weare.fi\/wp-content\/uploads\/2022\/02\/iam_opneid-1024x576.jpg\" class=\"attachment-large size-large wp-image-9382\" alt=\"\" srcset=\"https:\/\/weare.fi\/wp-content\/uploads\/2022\/02\/iam_opneid-1024x576.jpg 1024w, https:\/\/weare.fi\/wp-content\/uploads\/2022\/02\/iam_opneid-300x169.jpg 300w, https:\/\/weare.fi\/wp-content\/uploads\/2022\/02\/iam_opneid-768x432.jpg 768w, https:\/\/weare.fi\/wp-content\/uploads\/2022\/02\/iam_opneid-1536x864.jpg 1536w, https:\/\/weare.fi\/wp-content\/uploads\/2022\/02\/iam_opneid-18x10.jpg 18w, https:\/\/weare.fi\/wp-content\/uploads\/2022\/02\/iam_opneid.jpg 1920w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/>\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-7858caf2 elementor-share-buttons--skin-flat elementor-grid-3 elementor-share-buttons--view-icon elementor-share-buttons--shape-square elementor-share-buttons--color-official elementor-widget elementor-widget-share-buttons\" data-id=\"7858caf2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"share-buttons.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-grid\" role=\"list\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-grid-item\" role=\"listitem\">\n\t\t\t\t\t\t<div class=\"elementor-share-btn elementor-share-btn_facebook\" role=\"button\" tabindex=\"0\" aria-label=\"Share on facebook\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-share-btn__icon\">\n\t\t\t\t\t\t\t\t<i class=\"fab fa-facebook\" aria-hidden=\"true\"><\/i>\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-grid-item\" role=\"listitem\">\n\t\t\t\t\t\t<div class=\"elementor-share-btn elementor-share-btn_twitter\" role=\"button\" tabindex=\"0\" aria-label=\"Share on twitter\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-share-btn__icon\">\n\t\t\t\t\t\t\t\t<i class=\"fab fa-twitter\" aria-hidden=\"true\"><\/i>\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-grid-item\" role=\"listitem\">\n\t\t\t\t\t\t<div class=\"elementor-share-btn elementor-share-btn_linkedin\" role=\"button\" tabindex=\"0\" aria-label=\"Share on linkedin\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-share-btn__icon\">\n\t\t\t\t\t\t\t\t<i class=\"fab fa-linkedin\" aria-hidden=\"true\"><\/i>\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\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-5c557567 elementor-align-center elementor-widget elementor-widget-post-info\" data-id=\"5c557567\" 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-b2a862d elementor-inline-item\" itemprop=\"author\">\n\t\t\t\t\t\t<a href=\"https:\/\/weare.fi\/en\/author\/klaalo\/\">\n\t\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-author\">\n\t\t\t\t\t\t\t\t\t\tKari Laalo\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<\/a>\n\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-5af03e2 elementor-hidden-mobile elementor-widget elementor-widget-spacer\" data-id=\"5af03e2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\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-17e6e70 elementor-widget elementor-widget-heading\" data-id=\"17e6e70\" 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\">Asiakkaan tunnistusratkaisun toteuttamisen yhteydess\u00e4 teimme \u00e4skett\u00e4in havainnon<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d4606de elementor-widget elementor-widget-text-editor\" data-id=\"d4606de\" 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 data-path-to-node=\"3\">Microsoft tulkitsee mielenkiintoisesti Azure AD -palvelussaan OpenId Connect -tunnistamisessa id_tokenissa luovutettavan iss claimin merkityksen.<\/p><p data-path-to-node=\"4\">On vaikea perustella saati v\u00e4itt\u00e4\u00e4, ett\u00e4 Microsoftin tulkinta claimin arvosta olisi v\u00e4\u00e4r\u00e4. Tapaus johti kuitenkin siihen, ett\u00e4 WeAren oli tarkistettava omaa tulkintaansa aina tunnistusratkaisun toteutuksen l\u00e4hdekoodiin asti. Ratkaisun toteutuksesta julkaistiin \u00e4skett\u00e4in asiakkaille uusi versio, jossa molemmat erilaiset tulkinnat on huomioitu.<\/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-8b53746 elementor-widget elementor-widget-heading\" data-id=\"8b53746\" 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\">OIDC Coren tulkinta<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-baa28bd elementor-widget elementor-widget-text-editor\" data-id=\"baa28bd\" 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 data-path-to-node=\"7\">Nyt puheena olevassa tarkoituksessa iss claimia k\u00e4ytet\u00e4\u00e4n id_tokenissa, jolla k\u00e4ytt\u00e4j\u00e4n henkil\u00f6tietoja luovutetaan tunnistustapahtuman yhteydess\u00e4 silt\u00e4 osin, kuin niit\u00e4 ei luovuteta userInfo-rajapinnasta. Iss claim kuvataan OIDC Core -m\u00e4\u00e4rityksess\u00e4 n\u00e4in:<\/p><blockquote data-path-to-node=\"8\"><p data-path-to-node=\"8,0\">Issuer Identifier for the Issuer of the response. The iss value is a case sensitive URL using the https scheme that contains scheme, host, and optionally, port number and path components and no query or fragment components.<\/p><\/blockquote><p data-path-to-node=\"9\">Tulkintaa tarkennetaan kappaleessa, jossa kuvataan, miten tunnistukseen luottavan osapuolen (RP) kuuluu varmentaa, ett\u00e4 sen vastaanottama id_token on p\u00e4tev\u00e4:<\/p><blockquote data-path-to-node=\"10\"><p data-path-to-node=\"10,0\">The Issuer Identifier for the OpenID Provider (which is typically obtained during Discovery) MUST exactly match the value of the iss (issuer) Claim.<\/p><\/blockquote><p data-path-to-node=\"11\">Yll\u00e4olevasta tarkennuksesta voisi johtaa sen tulkinnan, ett\u00e4 id_tokenissa luovutettavan iss claimin arvo on oltava t\u00e4sm\u00e4lleen sama, joka OP:sta on julkaistu aiemmin mainitussa OP:n metadata-dokumentissa <b data-path-to-node=\"11\" data-index-in-node=\"203\"><a class=\"ng-star-inserted\" href=\"https:\/\/openid.net\/specs\/openid-connect-discovery-1_0.html\" target=\"_blank\" rel=\"noopener\">OIDC Discovery<\/a><\/b> profiilin mukaisesti.<\/p><p data-path-to-node=\"12\">Hassuksi voisi kuvailla sit\u00e4, ett\u00e4 jo OIDC Core m\u00e4\u00e4rityst\u00e4 kirjoitettaessa <b data-path-to-node=\"12\" data-index-in-node=\"75\"><a class=\"ng-star-inserted\" href=\"https:\/\/openid.net\/specs\/openid-connect-core-1_0.html#GoogleIss\" target=\"_blank\" rel=\"noopener\">on huomattu<\/a><\/b>, ett\u00e4 arvon merkityksen tulkintaan liittyy teknisi\u00e4 erimielisyyksi\u00e4:<\/p><blockquote data-path-to-node=\"13\"><p data-path-to-node=\"13,0\">Implementers may want to be aware that, as of the time of this writing, Google&#8217;s deployed OpenID Connect implementation issues ID Tokens that omit the required https:\/\/ scheme prefix from the iss (issuer) Claim Value.<\/p><\/blockquote>\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-2df1b5e elementor-widget elementor-widget-heading\" data-id=\"2df1b5e\" 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\">Microsoftin tulkinta<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4c9e0b7 elementor-widget elementor-widget-text-editor\" data-id=\"4c9e0b7\" 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 data-path-to-node=\"16\">Microsoft tulkitsee Azure AD palvelussaan asiaa hieman toisin. Azure AD:ssa on mahdollista kutsua tenantin varsinaisten (member) k\u00e4ytt\u00e4jien lis\u00e4ksi vierask\u00e4ytt\u00e4ji\u00e4 (guest) toisista tenanteista. Vieraat saavat yksil\u00f6llisen tunnisteen, joka perustuu heid\u00e4n tunnisteeseensa omassa is\u00e4nt\u00e4-tenantissaan. Vieraat k\u00e4ytt\u00e4v\u00e4t oman is\u00e4nt\u00e4-tenantinsa salasanaa kirjautuessaan my\u00f6s niiden tenantien palveluihin, joissa ovat vieraaksi kutsuttuna.<\/p><p data-path-to-node=\"17\">Kun vierask\u00e4ytt\u00e4j\u00e4 kirjautuu k\u00e4ytt\u00e4en vieras-tenantin Azure OP -instanssia, id_tokenissa h\u00e4nest\u00e4 ei luovutetakaan kyseisen OP:n metadatan issuer claimin mukaista iss arvoa, vaan h\u00e4nen alkuper\u00e4isen is\u00e4nt\u00e4-tenantinsa metadatan issuer claimin arvo.<\/p><p data-path-to-node=\"18\">Toteutus on t\u00e4sm\u00e4lleen, kun Microsoft on kuvannut sen omassa <b data-path-to-node=\"18\" data-index-in-node=\"61\"><a class=\"ng-star-inserted\" href=\"https:\/\/learn.microsoft.com\/en-us\/entra\/identity-platform\/id-tokens#claims-in-an-id-token\" target=\"_blank\" rel=\"noopener\">dokumentaatiossaan<\/a><\/b>:<\/p><blockquote data-path-to-node=\"19\"><p data-path-to-node=\"19,0\">Identifies the issuer, or &#8221;authorization server&#8221; that constructs and returns the token. It also identifies the Azure AD tenant for which the user was authenticated.<\/p><\/blockquote><p data-path-to-node=\"20\">Microsoft tarjoaa edellisen dokumentin lis\u00e4ksi <b data-path-to-node=\"20\" data-index-in-node=\"47\"><a class=\"ng-star-inserted\" href=\"https:\/\/learn.microsoft.com\/en-us\/azure\/architecture\/guide\/multitenant\/considerations\/identity#issuer-validation\" target=\"_blank\" rel=\"noopener\">n\u00e4kemyksens\u00e4<\/a><\/b> tokenin p\u00e4tevyyden tarkastamisesta OIDC Core -m\u00e4\u00e4rityksen tapaan:<\/p><blockquote data-path-to-node=\"21\"><p data-path-to-node=\"21,0\">In OpenID Connect, the issuer claim (&#8221;iss&#8221;) identifies the IDP that issued the ID token. Part of the OIDC authentication flow is to verify that the issuer claim matches the actual issuer. The OIDC middleware handles this for you.<\/p><\/blockquote><p data-path-to-node=\"22\">Ohjeesta voi p\u00e4\u00e4tell\u00e4 Microsoftin kehitt\u00e4j\u00e4n ajatelleen, ett\u00e4 ohjelmistokehitt\u00e4jien ei edes pit\u00e4isi pohtia asioita t\u00e4ll\u00e4 tasolla, vaan luottaa sen omaan v\u00e4liohjelmistoon. Microsoft on t\u00e4ss\u00e4 pitk\u00e4lti oikeassa. On suuri virheiden mahdollisuus, kun perehtym\u00e4t\u00f6n alkaa tulkita m\u00e4\u00e4rityksi\u00e4 ja toteuttaa ohjelmistoja n\u00e4iden tulkintojen pohjalta.<\/p><p data-path-to-node=\"23\">Samantyyppisi\u00e4 ajatuksia esitet\u00e4\u00e4n asiaan liittyen my\u00f6s verkon kysymys- ja keskustelupalstoilla sen enemp\u00e4\u00e4 pohtimatta, mit\u00e4 varsinaisen m\u00e4\u00e4rityksen kirjoittaja on alun perin tarkoittanut. Er\u00e4s esimerkki on <b data-path-to-node=\"23\" data-index-in-node=\"207\"><a class=\"ng-star-inserted\" href=\"https:\/\/thomaslevesque.com\/2018\/12\/24\/multitenant-azure-ad-issuer-validation-in-asp-net-core\/\" target=\"_blank\" rel=\"noopener\">t\u00e4ss\u00e4 blogikirjoituksessa<\/a><\/b>.<\/p><p data-path-to-node=\"24\">Kuitenkin on niin, ett\u00e4 my\u00f6s Microsoftin palveluja on voitava k\u00e4ytt\u00e4\u00e4 muilla kun sen itsens\u00e4 tarjoamilla ohjelmistoilla.<\/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-0051ae2 elementor-widget elementor-widget-heading\" data-id=\"0051ae2\" 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\">Nimbus-kirjaston toimintatapa<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8b44bcf elementor-widget elementor-widget-text-editor\" data-id=\"8b44bcf\" 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 data-path-to-node=\"19\">WeAre Solutions k\u00e4ytt\u00e4\u00e4 mallien mukaisesti Nimbus-kirjastoa id_tokenin p\u00e4tevyyden tarkastamiseen. Kirjasto toteuttaa n\u00e4pp\u00e4r\u00e4n IDTokenValidator-luokan, jonka validointi perustuu siihen, ett\u00e4 validaattorille annetaan instanssia perustettaessa iss claimissa sallittu arvo. WeAre:n toteutus perustui aiemmin mainittuun oletukseen. Validaattorille annettiin vertailtavaksi OP:n metadatan Issuer claimin arvo. Kuten todettu, t\u00e4m\u00e4 ei toimi yhteen Microsoft Azure AD:n tulkinnan kanssa.<\/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-b9e1879 elementor-widget elementor-widget-heading\" data-id=\"b9e1879\" 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\">Ei ole yht\u00e4 oikeaa totuutta<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2a5bcd5 elementor-widget elementor-widget-text-editor\" data-id=\"2a5bcd5\" 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 data-path-to-node=\"30\">T\u00e4m\u00e4 kokemus osoitti uudelleen jo aiemmin opitun.<\/p><p data-path-to-node=\"31\">Ihmiset kirjoittavat m\u00e4\u00e4ritykset ja niit\u00e4 tulkitsevat ihmiset. Kahden keskeisenkin toimijan tulkinta yksitt\u00e4isest\u00e4 yksityiskohdasta voi olla erilainen.<\/p><p data-path-to-node=\"32\">T\u00e4m\u00e4 tapaus osaltaan korostaa yhteensopivuustestauksen merkityst\u00e4. Aina kahden eri j\u00e4rjestelm\u00e4n yhteen sovittamisen yhteydess\u00e4 t\u00e4ytyy varmistua v\u00e4hint\u00e4\u00e4n yleisimpien k\u00e4ytt\u00f6tapausten kautta, ett\u00e4 j\u00e4rjestelm\u00e4t ovat todella yhteen toimivia.<\/p><p data-path-to-node=\"33\">Vaikka testauksessa olisikin tunnollinen ja kattava, on silti hyv\u00e4ksytt\u00e4v\u00e4, ett\u00e4 jokin testitapaus saattaa asiantuntijoilta j\u00e4\u00e4d\u00e4 huomaamatta. Ajan kuluessa my\u00f6s tulkinnat ja toteutukset muuttuvat. Yhteensopivuusongelmia saattaa esiinty\u00e4 viel\u00e4 p\u00e4ivityksien yhteydess\u00e4 jatkuvan palvelun ollessa tuotannossa.<\/p><p data-path-to-node=\"34\">Ohjelmistotuotannossa pit\u00e4isi noudattaa jatkuvan testaamisen k\u00e4yt\u00e4nt\u00f6\u00e4, jossa jokainen pieninkin ohjelmistokomponentti ja muutos on yksikk\u00f6testeill\u00e4 kuvattu. T\u00e4ll\u00e4 v\u00e4ltet\u00e4\u00e4n regressio-ongelmia, joita saattaa esiinty\u00e4 uusia ominaisuuksia tai muita muutoksia toteutettaessa, ellei koodi ole kattavasti testattu.<\/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-aed5a0f elementor-widget elementor-widget-heading\" data-id=\"aed5a0f\" 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\">WeAren tunnistuspalvelu<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-08cf758 elementor-widget elementor-widget-text-editor\" data-id=\"08cf758\" 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 data-path-to-node=\"30\">WeAre on toteuttanut oman <b data-path-to-node=\"37\" data-index-in-node=\"26\"><a class=\"ng-star-inserted\" href=\"https:\/\/weare.fi\/palvelut\/identiteetin-ja-paasynhallinta-iam\/\" target=\"_blank\" rel=\"noopener\">tunnistuspalvelun (IdP)<\/a><\/b>, joka on OpenId Connect (OIDC) ja SAML2 -tunnistusk\u00e4yt\u00e4nteit\u00e4 toteuttava palvelu, joka tunnistaa k\u00e4ytt\u00e4j\u00e4t mahdollistaen heid\u00e4n p\u00e4\u00e4syns\u00e4 j\u00e4rjestelmiin ja sovelluksiin. IdP:n avulla voidaan toteuttaa kertakirjautuminen (Single Sign On, SSO), jonka avulla k\u00e4ytt\u00e4j\u00e4 p\u00e4\u00e4see yhden tunnistustapahtuman perusteella k\u00e4ytt\u00e4m\u00e4\u00e4n kaikkia tunnistamisen piiriin kuuluvia sovelluksia ilman eri tunnistautumista. IdP on toteutettu avoimen l\u00e4hdekoodin Shibboleth Identity Provider -ohjelmistolla.<\/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-37346b5 elementor-widget elementor-widget-wpforms\" data-id=\"37346b5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"wpforms.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style id=\"wpforms-css-vars-elementor-widget-37346b5\">\n\t\t\t\t.elementor-widget-wpforms.elementor-element-37346b5 {\n\t\t\t\t--wpforms-label-color: #FFFFFF;\n--wpforms-container-padding: 15px;\n--wpforms-container-border-radius: 10px;\n--wpforms-background-color: #0D1C4D;\n\t\t\t}\n\t\t\t<\/style><div class=\"wpforms-container wpforms-container-full wpforms-render-modern\" id=\"wpforms-20393\"><form id=\"wpforms-form-20393\" class=\"wpforms-validate wpforms-form wpforms-ajax-form\" data-formid=\"20393\" method=\"post\" enctype=\"multipart\/form-data\" action=\"\/en\/wp-json\/wp\/v2\/posts\/27123\" data-token=\"7e7574162f9c78ebde6810923a3fd625\" data-token-time=\"1783628221\"><noscript class=\"wpforms-error-noscript\">Please enable JavaScript in your browser to complete this form.<\/noscript><div id=\"wpforms-error-noscript\" style=\"display: none;\">Please enable JavaScript in your browser to complete this form.<\/div><div class=\"wpforms-field-container\"><div id=\"wpforms-20393-field_26-container\" class=\"wpforms-field wpforms-field-text\" data-field-id=\"26\"><label class=\"wpforms-field-label\" for=\"wpforms-20393-field_26\">First Name <span class=\"wpforms-required-label\" aria-hidden=\"true\">*<\/span><\/label><input type=\"text\" id=\"wpforms-20393-field_26\" class=\"wpforms-field-medium wpforms-field-required\" name=\"wpforms[fields][26]\" aria-errormessage=\"wpforms-20393-field_26-error\" required><\/div><div id=\"wpforms-20393-field_21-container\" class=\"wpforms-field wpforms-field-name\" data-field-id=\"21\"><label class=\"wpforms-field-label\" for=\"wpforms-20393-field_21\">Last Name <span class=\"wpforms-required-label\" aria-hidden=\"true\">*<\/span><\/label><input type=\"text\" id=\"wpforms-20393-field_21\" class=\"wpforms-field-medium wpforms-field-required\" name=\"wpforms[fields][21]\" aria-errormessage=\"wpforms-20393-field_21-error\" required><\/div>\t\t<div id=\"wpforms-20393-field_1-container\"\n\t\t\tclass=\"wpforms-field wpforms-field-text\"\n\t\t\tdata-field-type=\"text\"\n\t\t\tdata-field-id=\"1\"\n\t\t\t>\n\t\t\t<label class=\"wpforms-field-label\" for=\"wpforms-20393-field_1\" >Email Name Information<\/label>\n\t\t\t<input type=\"text\" id=\"wpforms-20393-field_1\" class=\"wpforms-field-medium\" name=\"wpforms[fields][1]\" >\n\t\t<\/div>\n\t\t<div id=\"wpforms-20393-field_22-container\" class=\"wpforms-field wpforms-field-email\" data-field-id=\"22\"><label class=\"wpforms-field-label\" for=\"wpforms-20393-field_22\">Business Email <span class=\"wpforms-required-label\" aria-hidden=\"true\">*<\/span><\/label><input type=\"email\" id=\"wpforms-20393-field_22\" class=\"wpforms-field-medium wpforms-field-required\" name=\"wpforms[fields][22]\" spellcheck=\"false\" aria-errormessage=\"wpforms-20393-field_22-error\" required><\/div><div id=\"wpforms-20393-field_23-container\" class=\"wpforms-field wpforms-field-phone\" data-field-id=\"23\"><label class=\"wpforms-field-label\" for=\"wpforms-20393-field_23\">Phone Number<\/label><input type=\"tel\" id=\"wpforms-20393-field_23\" class=\"wpforms-field-medium wpforms-smart-phone-field\" data-rule-smart-phone-field=\"true\" name=\"wpforms[fields][23]\" aria-label=\"Phone Number\" aria-errormessage=\"wpforms-20393-field_23-error\" ><\/div><div id=\"wpforms-20393-field_24-container\" class=\"wpforms-field wpforms-field-text\" data-field-id=\"24\"><label class=\"wpforms-field-label\" for=\"wpforms-20393-field_24\">Company <span class=\"wpforms-required-label\" aria-hidden=\"true\">*<\/span><\/label><input type=\"text\" id=\"wpforms-20393-field_24\" class=\"wpforms-field-medium wpforms-field-required\" name=\"wpforms[fields][24]\" aria-errormessage=\"wpforms-20393-field_24-error\" required><\/div><div id=\"wpforms-20393-field_25-container\" class=\"wpforms-field wpforms-field-text\" data-field-id=\"25\"><label class=\"wpforms-field-label\" for=\"wpforms-20393-field_25\">Role <span class=\"wpforms-required-label\" aria-hidden=\"true\">*<\/span><\/label><input type=\"text\" id=\"wpforms-20393-field_25\" class=\"wpforms-field-medium wpforms-field-required\" name=\"wpforms[fields][25]\" aria-errormessage=\"wpforms-20393-field_25-error\" required><\/div><div id=\"wpforms-20393-field_27-container\" class=\"wpforms-field wpforms-field-textarea\" data-field-id=\"27\"><label class=\"wpforms-field-label\" for=\"wpforms-20393-field_27\">Additional Information<\/label><textarea id=\"wpforms-20393-field_27\" class=\"wpforms-field-medium\" name=\"wpforms[fields][27]\" aria-errormessage=\"wpforms-20393-field_27-error\" ><\/textarea><\/div><div id=\"wpforms-20393-field_8-container\" class=\"wpforms-field wpforms-field-checkbox\" data-field-id=\"8\"><fieldset><legend class=\"wpforms-field-label wpforms-label-hide\" aria-hidden=\"false\"> <span class=\"wpforms-required-label\" aria-hidden=\"true\">*<\/span><\/legend><ul id=\"wpforms-20393-field_8\" class=\"wpforms-field-required\"><li class=\"choice-1 depth-1\"><input type=\"checkbox\" id=\"wpforms-20393-field_8_1\" name=\"wpforms[fields][8][]\" value=\"I accept that WeAre Solutions saves my data for contacting. Read our &lt;a href=&quot;https:\/\/weare.fi\/en\/privacy-notice\/&quot; target=&quot;_blank&quot; style=&quot;color: #F4B765;&quot;&gt;Privacy Notice&lt;\/a&gt; more for information.\" aria-errormessage=\"wpforms-20393-field_8_1-error\" required ><label class=\"wpforms-field-label-inline\" for=\"wpforms-20393-field_8_1\">I accept that WeAre Solutions saves my data for contacting. Read our <a href=\"https:\/\/weare.fi\/en\/privacy-notice\/\" target=\"_blank\" style=\"color: #F4B765\">Privacy Notice<\/a> more for information.<\/label><\/li><\/ul><\/fieldset><\/div><script>\n\t\t\t\t( function() {\n\t\t\t\t\tconst style = document.createElement( 'style' );\n\t\t\t\t\tstyle.appendChild( document.createTextNode( '#wpforms-20393-field_1-container { position: absolute !important; overflow: hidden !important; display: inline !important; height: 1px !important; width: 1px !important; z-index: -1000 !important; padding: 0 !important; } #wpforms-20393-field_1-container input { visibility: hidden; } #wpforms-conversational-form-page #wpforms-20393-field_1-container label { counter-increment: none; }' ) );\n\t\t\t\t\tdocument.head.appendChild( style );\n\t\t\t\t\tdocument.currentScript?.remove();\n\t\t\t\t} )();\n\t\t\t<\/script><\/div><!-- .wpforms-field-container --><div class=\"wpforms-recaptcha-container wpforms-is-turnstile\" ><div class=\"wpforms-turnstile\" data-sitekey=\"0x4AAAAAABfyVh9fCdvan3QV\" data-action=\"FormID-20393\"><\/div><input type=\"text\" name=\"g-recaptcha-hidden\" class=\"wpforms-recaptcha-hidden\" style=\"position:absolute!important;clip:rect(0,0,0,0)!important;height:1px!important;width:1px!important;border:0!important;overflow:hidden!important;padding:0!important;margin:0!important;\" data-rule-turnstile=\"1\"><\/div><div class=\"wpforms-submit-container\" ><input type=\"hidden\" name=\"wpforms[id]\" value=\"20393\"><input type=\"hidden\" name=\"page_title\" value=\"\"><input type=\"hidden\" name=\"page_url\" value=\"https:\/\/weare.fi\/en\/wp-json\/wp\/v2\/posts\/27123\"><input type=\"hidden\" name=\"url_referer\" value=\"\"><button type=\"submit\" name=\"wpforms[submit]\" id=\"wpforms-submit-20393\" class=\"wpforms-submit\" data-alt-text=\"Sending...\" data-submit-text=\"Submit\" aria-live=\"assertive\" value=\"wpforms-submit\">Submit<\/button><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/weare.fi\/wp-content\/plugins\/wpforms\/assets\/images\/submit-spin.svg\" class=\"wpforms-submit-spinner\" style=\"display: none;\" width=\"26\" height=\"26\" alt=\"Loading\"><\/div><\/form><\/div>  <!-- .wpforms-container -->\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d5e7200 elementor-share-buttons--skin-flat elementor-share-buttons--color-custom elementor-share-buttons--view-icon-text elementor-share-buttons--shape-square elementor-grid-0 elementor-widget elementor-widget-share-buttons\" data-id=\"d5e7200\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"share-buttons.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-grid\" role=\"list\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-grid-item\" role=\"listitem\">\n\t\t\t\t\t\t<div class=\"elementor-share-btn elementor-share-btn_facebook\" role=\"button\" tabindex=\"0\" aria-label=\"Share on facebook\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-share-btn__icon\">\n\t\t\t\t\t\t\t\t<i class=\"fab fa-facebook\" aria-hidden=\"true\"><\/i>\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-share-btn__text\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-share-btn__title\">\n\t\t\t\t\t\t\t\t\t\tFacebook\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-grid-item\" role=\"listitem\">\n\t\t\t\t\t\t<div class=\"elementor-share-btn elementor-share-btn_twitter\" role=\"button\" tabindex=\"0\" aria-label=\"Share on twitter\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-share-btn__icon\">\n\t\t\t\t\t\t\t\t<i class=\"fab fa-twitter\" aria-hidden=\"true\"><\/i>\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-share-btn__text\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-share-btn__title\">\n\t\t\t\t\t\t\t\t\t\tTwitter\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-grid-item\" role=\"listitem\">\n\t\t\t\t\t\t<div class=\"elementor-share-btn elementor-share-btn_linkedin\" role=\"button\" tabindex=\"0\" aria-label=\"Share on linkedin\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-share-btn__icon\">\n\t\t\t\t\t\t\t\t<i class=\"fab fa-linkedin\" aria-hidden=\"true\"><\/i>\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-share-btn__text\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-share-btn__title\">\n\t\t\t\t\t\t\t\t\t\tLinkedIn\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\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-2c4d486 elementor-widget elementor-widget-spacer\" data-id=\"2c4d486\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/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<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-6cc0d761 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"6cc0d761\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;_ha_eqh_enable&quot;:false}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-4f28b13d\" data-id=\"4f28b13d\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-885b1d1 elementor-widget elementor-widget-spacer\" data-id=\"885b1d1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/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<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-6334508 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"6334508\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;_ha_eqh_enable&quot;:false}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-24b81a6\" data-id=\"24b81a6\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap\">\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Miten Microsoft Azure AD tulkitsee OpenID Connect tunnistuksen iss claimia vierask\u00e4ytt\u00e4jien kohdalla? Lue WeAren havainnot ja vinkit jatkuvaan testaamiseen.<\/p>","protected":false},"author":5,"featured_media":9382,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"elementor_header_footer","format":"standard","meta":{"site-sidebar-layout":"right-sidebar","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[20,75],"tags":[],"blog":[123],"customer-cases":[],"class_list":["post-27123","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-iam","category-software-development","blog-identity-and-access-management"],"_links":{"self":[{"href":"https:\/\/weare.fi\/en\/wp-json\/wp\/v2\/posts\/27123","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/weare.fi\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/weare.fi\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/weare.fi\/en\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/weare.fi\/en\/wp-json\/wp\/v2\/comments?post=27123"}],"version-history":[{"count":10,"href":"https:\/\/weare.fi\/en\/wp-json\/wp\/v2\/posts\/27123\/revisions"}],"predecessor-version":[{"id":27134,"href":"https:\/\/weare.fi\/en\/wp-json\/wp\/v2\/posts\/27123\/revisions\/27134"}],"wp:attachment":[{"href":"https:\/\/weare.fi\/en\/wp-json\/wp\/v2\/media?parent=27123"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/weare.fi\/en\/wp-json\/wp\/v2\/categories?post=27123"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/weare.fi\/en\/wp-json\/wp\/v2\/tags?post=27123"},{"taxonomy":"blog","embeddable":true,"href":"https:\/\/weare.fi\/en\/wp-json\/wp\/v2\/blog?post=27123"},{"taxonomy":"customer-cases","embeddable":true,"href":"https:\/\/weare.fi\/en\/wp-json\/wp\/v2\/customer-cases?post=27123"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}