{"id":624,"date":"2025-09-21T08:09:12","date_gmt":"2025-09-21T12:09:12","guid":{"rendered":"https:\/\/deepertech.com\/en\/?p=624"},"modified":"2025-09-21T09:11:27","modified_gmt":"2025-09-21T13:11:27","slug":"wordpress-plugin-o365-routing-integration","status":"publish","type":"post","link":"https:\/\/deepertech.com\/en\/success-stories\/wordpress-plugin-o365-routing-integration\/","title":{"rendered":"WordPress Plugin Office 365 SSO  Routing Integration"},"content":{"rendered":"\n<nav class=\"breadcrumb\">\n  <a href=\"\/en\/\">Home<\/a> &raquo;\n  <a href=\"\/en\/success-stories\/\">Success Stories<\/a> &raquo;\n  WordPress Plugin Office 365 SSO Routing Integration\n<\/nav>\n\n<article>\n  <header>\n    <p><strong>Client:<\/strong> Confidential (Multinational Insurance Group) &nbsp;|&nbsp; <strong>Sector:<\/strong> Insurance &nbsp;|&nbsp; <strong>NAICS:<\/strong> 524113, 524114, 524126<\/p>\n  <\/header>\n\n<figure class=\"ss-hero\" style=\"max-width:680px;margin:0 auto\">\n<img src=\"https:\/\/deepertech.com\/images\/wordpress-plugin-o365-routing-hero-en-680.png\"\nalt=\"Professional signing into a Microsoft Office 365 login portal on dual monitors; a custom WordPress plugin routes the user to the correct internal portal via company APIs.\"\nwidth=\"680\" height=\"383\" loading=\"eager\" fetchpriority=\"high\" decoding=\"async\"\nstyle=\"display:block;width:100%;height:auto;border-radius:12px\" \/>\n<\/figure>\n\n<section><h2>Problem<\/h2>\n<p><ul>\n<li>\nThe group operated several <strong>employee portals<\/strong> in the U.S. division, each with separate access paths, producing <strong>login friction<\/strong> and mis\u2011routed sessions.\n<\/li>\n<li>\nThe corporate IdP was <strong>Microsoft Office 365 SSO<\/strong>, but WordPress (the entry site) needed to <strong>honor the tenant SSO<\/strong> and then <strong>route<\/strong> users to the appropriate internal portal <strong>without exposing routing rules<\/strong> on the public edge.\n<\/li>\n<\/ul>\n<\/p><\/section>\n<section><h2>Project Objectives<\/h2><ul>\n<li>\nEnable <strong>Microsoft Office 365 SSO<\/strong> on WordPress for U.S. employees.\n<\/li>\n<li>\nAfter successful sign\u2011in, <strong>determine destination portal<\/strong> through internal APIs using employee profile signals (e.g., region\/address, BU).\n<\/li>\n<li>\nKeep the flow <strong>fast<\/strong> and <strong>transparent<\/strong> to end users.\n<\/li>\n<\/ul><\/section>\n<section><h2>Solution Applied<\/h2><ul>\n<li>\nWe built a <strong>custom WordPress plugin<\/strong> that initiates Microsoft Office 365 SSO and, after token validation, calls <strong>internal APIs<\/strong> to request a routing decision based on the employee profile (e.g., <strong>address\/region<\/strong> obtained from corporate directories).\n<\/li>\n<li>\nThe plugin then performs a <strong>secure redirect<\/strong> to the <strong>target portal<\/strong> (or a safe default if no match). The internal policy and routing logic remain <strong>off\u2011site<\/strong> (centralized), minimizing configuration at the edge.\n<\/li>\n<li>\nThe plugin is <strong>configuration\u2011light<\/strong> (tenant endpoints, internal API base URL, defaults) and designed for <strong>low maintenance<\/strong>.\n<\/li>\n<\/ul><\/section>\n<section><h2>Technologies Applied<\/h2>\n<p>WordPress \u00b7 PHP \u00b7 Microsoft Office 365 SSO \u00b7 Internal REST APIs \u00b7 Reverse proxy\/CDN (existing client stack)<\/p><\/section>\n<section><h2>Results &amp; Benefits<\/h2><ul>\n<li>\n<strong>Seamless access<\/strong> to the right portal post\u2011login with no manual selection.\n<\/li>\n<li>\nConsolidated entry point through WordPress with <strong>consistent SSO<\/strong> experience.\n<\/li>\n<li>\n<strong>One\u2011month<\/strong> implementation from build to adoption (development, testing, deployment, and roll\u2011out).\n<\/li>\n<\/ul><\/section>\n<section><h2>Timeline &amp; Team<\/h2><ul>\n<li>\n<strong>1 month<\/strong> total: development \u2192 QA\/UAT \u2192 deployment \u2192 adoption.\n<\/li>\n<li>\nRoles involved: WordPress\/PHP engineer, integrations engineer, project lead.\n<\/li>\n<\/ul><\/section>\n<section><h2>Compliance &amp; Security<\/h2><ul>\n<li>\nDetails are <strong>confidential<\/strong> and excluded by design; routing and identity protections follow the client\u2019s corporate baseline.\n<\/li>\n<\/ul><\/section>\n<section><h2>Legal Notice<\/h2><ul>\n<li>\n<strong>Microsoft Office 365<\/strong> is trademarks of Microsoft Corporation. <strong>Deeper Technology LLC<\/strong> is an <strong>independent software development company<\/strong> and is <strong>not affiliated with, endorsed by, or sponsored by Microsoft<\/strong>.\n<\/li>\n<\/ul><\/section>\n\n<\/article>\n\n\n\n<div class=\"wpcf7 no-js\" id=\"wpcf7-f423-o1\" lang=\"en-US\" dir=\"ltr\" data-wpcf7-id=\"423\">\n<div class=\"screen-reader-response\"><p role=\"status\" aria-live=\"polite\" aria-atomic=\"true\"><\/p> <ul><\/ul><\/div>\n<form action=\"\/en\/wp-json\/wp\/v2\/posts\/624#wpcf7-f423-o1\" method=\"post\" class=\"wpcf7-form init\" aria-label=\"Contact form\" novalidate=\"novalidate\" data-status=\"init\">\n<fieldset class=\"hidden-fields-container\"><input type=\"hidden\" name=\"_wpcf7\" value=\"423\" \/><input type=\"hidden\" name=\"_wpcf7_version\" value=\"6.1.5\" \/><input type=\"hidden\" name=\"_wpcf7_locale\" value=\"en_US\" \/><input type=\"hidden\" name=\"_wpcf7_unit_tag\" value=\"wpcf7-f423-o1\" \/><input type=\"hidden\" name=\"_wpcf7_container_post\" value=\"0\" \/><input type=\"hidden\" name=\"_wpcf7_posted_data_hash\" value=\"\" \/><input type=\"hidden\" name=\"_wpcf7cf_hidden_group_fields\" value=\"[]\" \/><input type=\"hidden\" name=\"_wpcf7cf_hidden_groups\" value=\"[]\" \/><input type=\"hidden\" name=\"_wpcf7cf_visible_groups\" value=\"[]\" \/><input type=\"hidden\" name=\"_wpcf7cf_repeaters\" value=\"[]\" \/><input type=\"hidden\" name=\"_wpcf7cf_steps\" value=\"{}\" \/><input type=\"hidden\" name=\"_wpcf7cf_options\" value=\"{&quot;form_id&quot;:423,&quot;conditions&quot;:[],&quot;settings&quot;:{&quot;animation&quot;:&quot;yes&quot;,&quot;animation_intime&quot;:200,&quot;animation_outtime&quot;:200,&quot;conditions_ui&quot;:&quot;normal&quot;,&quot;notice_dismissed&quot;:false}}\" \/>\n<\/fieldset>\n<!-- CTA -->\n<!-- \n&nbsp<br \/>&nbsp<br \/>\n -->\n<p><b>Got an idea but not sure where to start?<\/b><br \/>\nTurn your vision into a real world project our development team takes care of everything.\n<\/p>\n<p><b>Reach out today and get a custom proposal within 24 hours.<\/b><br \/>\n<!-- \n&nbsp<br \/>&nbsp<br \/>\n -->\n<\/p>\n<div style=\"width:100%; border: 1px solid #000;padding: 10px 10px 10px 10px;\">\n<!-- Name -->\n\t<p><label>Full Name<br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"your-name\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Your full name\" value=\"\" type=\"text\" name=\"your-name\" \/><\/span><br \/>\n<\/label>\n\t<\/p>\n\n<!-- Email -->\n\t<p><label>Email<br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"your-email\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-email wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-email\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"you@example.com\" value=\"\" type=\"email\" name=\"your-email\" \/><\/span><br \/>\n<\/label>\n\t<\/p>\n\n<!-- Phone (optional) -->\n\t<p><label>Phone<br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"your-phone\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-tel wpcf7-text wpcf7-validates-as-tel\" aria-invalid=\"false\" placeholder=\"(555) 555-5555\" value=\"\" type=\"tel\" name=\"your-phone\" \/><\/span><br \/>\n<\/label>\n\t<\/p>\n\n<!-- Message -->\n\t<p><label>Message<br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"your-message\"><textarea cols=\"40\" rows=\"10\" maxlength=\"2000\" class=\"wpcf7-form-control wpcf7-textarea\" aria-invalid=\"false\" placeholder=\"Tell us about your project\u2026\" name=\"your-message\"><\/textarea><\/span><br \/>\n<\/label>\n\t<\/p>\n\n<!-- Hidden field that captures the page URL -->\n<input class=\"wpcf7-form-control wpcf7-hidden\" id=\"page-url\" value=\"\" type=\"hidden\" name=\"page-url\" \/>\n<input class=\"wpcf7-form-control wpcf7-hidden\" id=\"ipaddress\" value=\"###IP###\" type=\"hidden\" name=\"ip-address\" \/>\n\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"acceptance-269\"><span class=\"wpcf7-form-control wpcf7-acceptance\"><span class=\"wpcf7-list-item\"><label><input type=\"checkbox\" name=\"acceptance-269\" value=\"1\" id=\"privacy_policy\" aria-invalid=\"false\" \/><span class=\"wpcf7-list-item-label\"><b><a href=\"https:\/\/deepertech.com\/en\/privacy\/\" target=\"_blank\" style=\"display:inline-block;\" >I have read and accept the privacy policy described in the link below.<svg class=\"link_externalIcon__uwKVa\"  style=\"display:inline-block; vertical-align:-0.125em; margin-left:.25em;\" data-testid=\"geist-icon\" fill=\"none\" height=\"24\" shape-rendering=\"geometricPrecision\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" viewBox=\"0 0 24 24\" width=\"24\" style=\"color: currentcolor; width: 1em; height: 1em;\"><path d=\"M18 13v6a2 2 0 01-2 2H5a2 2 0 01-2-2V8a2 2 0 012-2h6\"><\/path><path d=\"M15 3h6v6\"><\/path><path d=\"M10 14L21 3\"><\/path><\/svg>\n<\/a><\/b><\/span><\/label><\/span><\/span><\/span>\n\t<\/p>\n\n<!-- Submit -->\n\t<p><input class=\"wpcf7-form-control wpcf7-submit has-spinner\" type=\"submit\" value=\"Get My Proposal\" \/>\n\t<\/p>\n<\/div><div class=\"wpcf7-response-output\" aria-hidden=\"true\"><\/div>\n<\/form>\n<\/div>\n\n\n\n<script>  window.onload = function () {  var text = document.getElementById('ipaddress'); text.value = '216.73.217.57'; };<\/script>\n","protected":false},"excerpt":{"rendered":"<p>Home &raquo; Success Stories &raquo; WordPress Plugin Office 365 SSO Routing Integration Client: Confidential (Multinational Insurance Group) &nbsp;|&nbsp; Sector: Insurance &nbsp;|&nbsp; NAICS: 524113, 524114, 524126 Problem The group operated several employee portals in the U.S. division, each with separate access paths, producing login friction and mis\u2011routed sessions. The corporate IdP was Microsoft Office 365 SSO, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_genesis_hide_title":false,"_genesis_hide_breadcrumbs":false,"_genesis_hide_singular_image":false,"_genesis_hide_footer_widgets":false,"_genesis_custom_body_class":"","_genesis_custom_post_class":"","_genesis_layout":"","footnotes":""},"categories":[7],"tags":[],"class_list":{"0":"post-624","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-success-stories","7":"entry"},"_links":{"self":[{"href":"https:\/\/deepertech.com\/en\/wp-json\/wp\/v2\/posts\/624","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/deepertech.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/deepertech.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/deepertech.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/deepertech.com\/en\/wp-json\/wp\/v2\/comments?post=624"}],"version-history":[{"count":12,"href":"https:\/\/deepertech.com\/en\/wp-json\/wp\/v2\/posts\/624\/revisions"}],"predecessor-version":[{"id":642,"href":"https:\/\/deepertech.com\/en\/wp-json\/wp\/v2\/posts\/624\/revisions\/642"}],"wp:attachment":[{"href":"https:\/\/deepertech.com\/en\/wp-json\/wp\/v2\/media?parent=624"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/deepertech.com\/en\/wp-json\/wp\/v2\/categories?post=624"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/deepertech.com\/en\/wp-json\/wp\/v2\/tags?post=624"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}