{"id":6194,"date":"2013-12-03T05:55:37","date_gmt":"2013-12-03T13:55:37","guid":{"rendered":"http:\/\/localhost\/exoblog\/?p=6194"},"modified":"2024-09-17T16:34:02","modified_gmt":"2024-09-17T14:34:02","slug":"step-by-step-guide-to-integrate-linkedin-connect-with-the-exo-platform-sign-in-mechanism","status":"publish","type":"post","link":"https:\/\/www.exoplatform.com\/blog\/step-by-step-guide-to-integrate-linkedin-connect-with-the-exo-platform-sign-in-mechanism\/","title":{"rendered":"Step-by-Step Guide to Integrate LinkedIn Connect with the eXo Platform Sign-In Mechanism"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"6194\" class=\"elementor elementor-6194\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-section elementor-top-section elementor-element elementor-element-e99b036 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"e99b036\" data-element_type=\"section\" id=\"sec-image-title\">\r\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\r\n\t\t\t\t\t<div class=\"elementor-column elementor-col-33 elementor-top-column elementor-element elementor-element-b7b383a\" data-id=\"b7b383a\" data-element_type=\"column\">\r\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\r\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-2e4bbce elementor-align-left elementor-widget elementor-widget-post-info\" data-id=\"2e4bbce\" data-element_type=\"widget\" id=\"author-time\" data-widget_type=\"post-info.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t<link rel=\"stylesheet\" href=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/plugins\/elementor\/assets\/css\/widget-icon-list.min.css\"><link rel=\"stylesheet\" href=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/plugins\/elementor-pro\/assets\/css\/widget-theme-elements.min.css\">\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-a070ed2 elementor-inline-item\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-custom\">\n\t\t\t\t\t\t\t\t\t\t<span class=\"bsf-rt-reading-time\"><span class=\"bsf-rt-display-label\" prefix=\"Reading Time\">\n\t\t<\/span> <span class=\"bsf-rt-display-time\" reading_time=\"8\"><\/span> \n\t\t<span class=\"bsf-rt-display-postfix\" postfix=\"min\"><\/span><\/span>\n\t\t  \n\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t<li class=\"elementor-icon-list-item elementor-repeater-item-c638fde elementor-inline-item\" itemprop=\"author\">\n\t\t\t\t\t\t<a href=\"https:\/\/www.exoplatform.com\/blog\/author\/anhvt\/\">\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\tTuan Anh Vu\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<li class=\"elementor-icon-list-item elementor-repeater-item-f24db26 elementor-inline-item\" itemprop=\"datePublished\">\n\t\t\t\t\t\t<a href=\"https:\/\/www.exoplatform.com\/blog\/2013\/12\/03\/\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-calendar\"><\/i>\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-date\">\n\t\t\t\t\t\t\t\t\t\td\u00e9cembre 3, 2013\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<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-45fd07b undertitle elementor-widget elementor-widget-heading\" data-id=\"45fd07b\" data-element_type=\"widget\" id=\"bigtitle\" data-widget_type=\"heading.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t<style>\/*! elementor - v3.13.2 - 11-05-2023 *\/\r\n.elementor-heading-title{padding:0;margin:0;line-height:1}.elementor-widget-heading .elementor-heading-title[class*=elementor-size-]>a{color:inherit;font-size:inherit;line-height:inherit}.elementor-widget-heading .elementor-heading-title.elementor-size-small{font-size:15px}.elementor-widget-heading .elementor-heading-title.elementor-size-medium{font-size:19px}.elementor-widget-heading .elementor-heading-title.elementor-size-large{font-size:29px}.elementor-widget-heading .elementor-heading-title.elementor-size-xl{font-size:39px}.elementor-widget-heading .elementor-heading-title.elementor-size-xxl{font-size:59px}<\/style><h1 class=\"elementor-heading-title elementor-size-default\">Step-by-Step Guide to Integrate LinkedIn Connect with the eXo Platform Sign-In Mechanism<\/h1>\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-8c29edc elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"8c29edc\" data-element_type=\"widget\" data-widget_type=\"divider.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t<style>\/*! elementor - v3.13.2 - 11-05-2023 *\/\r\n.elementor-widget-divider{--divider-border-style:none;--divider-border-width:1px;--divider-color:#0c0d0e;--divider-icon-size:20px;--divider-element-spacing:10px;--divider-pattern-height:24px;--divider-pattern-size:20px;--divider-pattern-url:none;--divider-pattern-repeat:repeat-x}.elementor-widget-divider .elementor-divider{display:flex}.elementor-widget-divider .elementor-divider__text{font-size:15px;line-height:1;max-width:95%}.elementor-widget-divider .elementor-divider__element{margin:0 var(--divider-element-spacing);flex-shrink:0}.elementor-widget-divider .elementor-icon{font-size:var(--divider-icon-size)}.elementor-widget-divider .elementor-divider-separator{display:flex;margin:0;direction:ltr}.elementor-widget-divider--view-line_icon .elementor-divider-separator,.elementor-widget-divider--view-line_text .elementor-divider-separator{align-items:center}.elementor-widget-divider--view-line_icon .elementor-divider-separator:after,.elementor-widget-divider--view-line_icon .elementor-divider-separator:before,.elementor-widget-divider--view-line_text .elementor-divider-separator:after,.elementor-widget-divider--view-line_text .elementor-divider-separator:before{display:block;content:\"\";border-bottom:0;flex-grow:1;border-top:var(--divider-border-width) var(--divider-border-style) var(--divider-color)}.elementor-widget-divider--element-align-left .elementor-divider .elementor-divider-separator>.elementor-divider__svg:first-of-type{flex-grow:0;flex-shrink:100}.elementor-widget-divider--element-align-left .elementor-divider-separator:before{content:none}.elementor-widget-divider--element-align-left .elementor-divider__element{margin-left:0}.elementor-widget-divider--element-align-right .elementor-divider .elementor-divider-separator>.elementor-divider__svg:last-of-type{flex-grow:0;flex-shrink:100}.elementor-widget-divider--element-align-right .elementor-divider-separator:after{content:none}.elementor-widget-divider--element-align-right .elementor-divider__element{margin-right:0}.elementor-widget-divider:not(.elementor-widget-divider--view-line_text):not(.elementor-widget-divider--view-line_icon) .elementor-divider-separator{border-top:var(--divider-border-width) var(--divider-border-style) var(--divider-color)}.elementor-widget-divider--separator-type-pattern{--divider-border-style:none}.elementor-widget-divider--separator-type-pattern.elementor-widget-divider--view-line .elementor-divider-separator,.elementor-widget-divider--separator-type-pattern:not(.elementor-widget-divider--view-line) .elementor-divider-separator:after,.elementor-widget-divider--separator-type-pattern:not(.elementor-widget-divider--view-line) .elementor-divider-separator:before,.elementor-widget-divider--separator-type-pattern:not([class*=elementor-widget-divider--view]) .elementor-divider-separator{width:100%;min-height:var(--divider-pattern-height);-webkit-mask-size:var(--divider-pattern-size) 100%;mask-size:var(--divider-pattern-size) 100%;-webkit-mask-repeat:var(--divider-pattern-repeat);mask-repeat:var(--divider-pattern-repeat);background-color:var(--divider-color);-webkit-mask-image:var(--divider-pattern-url);mask-image:var(--divider-pattern-url)}.elementor-widget-divider--no-spacing{--divider-pattern-size:auto}.elementor-widget-divider--bg-round{--divider-pattern-repeat:round}.rtl .elementor-widget-divider .elementor-divider__text{direction:rtl}.e-con-inner>.elementor-widget-divider,.e-con>.elementor-widget-divider{width:var(--container-widget-width,100%);--flex-grow:var(--container-widget-flex-grow)}<\/style>\t\t<div class=\"elementor-divider\">\r\n\t\t\t<span class=\"elementor-divider-separator\">\r\n\t\t\t\t\t\t<\/span>\r\n\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-2c694bc elementor-widget elementor-widget-text-editor\" data-id=\"2c694bc\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t<style>\/*! elementor - v3.13.2 - 11-05-2023 *\/\r\n.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:#69727d;color:#fff}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap{color:#69727d;border:3px solid;background-color:transparent}.elementor-widget-text-editor:not(.elementor-drop-cap-view-default) .elementor-drop-cap{margin-top:8px}.elementor-widget-text-editor:not(.elementor-drop-cap-view-default) .elementor-drop-cap-letter{width:1em;height:1em}.elementor-widget-text-editor .elementor-drop-cap{float:left;text-align:center;line-height:1;font-size:50px}.elementor-widget-text-editor .elementor-drop-cap-letter{display:inline-block}<\/style>\t\t\t\tA few weeks ago, we implemented a new way to connect to the eXo Community website, which runs on eXo Platform 4, using third-party authentication systems, namely LinkedIn, Facebook, and Google+. We excluded Twitter, as its system doesn&#8217;t enable developers to retrieve an email address, which is the main way to identify a user account.\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-column elementor-col-66 elementor-top-column elementor-element elementor-element-44d83c7\" data-id=\"44d83c7\" data-element_type=\"column\">\r\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\r\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-0e24479 elementor-widget elementor-widget-image\" data-id=\"0e24479\" data-element_type=\"widget\" data-widget_type=\"image.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t<style>\/*! elementor - v3.13.2 - 11-05-2023 *\/\r\n.elementor-widget-image{text-align:center}.elementor-widget-image a{display:inline-block}.elementor-widget-image a img[src$=\".svg\"]{width:48px}.elementor-widget-image img{vertical-align:middle;display:inline-block}<\/style>\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/elementor\/thumbs\/Step-by-Step-Guide-to-Integrate-LinkedIn-Connect-with-eXo-Platform-Sign-In-Mechanism-q1kdu3wjs2xnf4s5siiupsnb2ksvptp5o09bhyi45k.png\" title=\"Step-by-Step Guide to Integrate LinkedIn Connect with the eXo Platform Sign-In Mechanism\" alt=\"Step-by-Step Guide to Integrate LinkedIn Connect with the eXo Platform Sign-In Mechanism\" loading=\"lazy\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-5b60bd7 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"5b60bd7\" data-element_type=\"section\">\r\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\r\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-ea7cbfa\" data-id=\"ea7cbfa\" data-element_type=\"column\">\r\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\r\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-f56e728 table-content-cs elementor-widget elementor-widget-table-of-contents\" data-id=\"f56e728\" data-element_type=\"widget\" id=\"sticky-tds\" data-settings=\"{&quot;exclude_headings_by_selector&quot;:&quot;.am__title,h6&quot;,&quot;marker_view&quot;:&quot;bullets&quot;,&quot;min_height&quot;:{&quot;unit&quot;:&quot;vh&quot;,&quot;size&quot;:0,&quot;sizes&quot;:[]},&quot;headings_by_tags&quot;:[&quot;h2&quot;,&quot;h3&quot;],&quot;_animation&quot;:&quot;none&quot;,&quot;icon&quot;:{&quot;value&quot;:&quot;&quot;,&quot;library&quot;:&quot;&quot;},&quot;min_height_tablet&quot;:{&quot;unit&quot;:&quot;vh&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;min_height_mobile&quot;:{&quot;unit&quot;:&quot;vh&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;hierarchical_view&quot;:&quot;yes&quot;}\" data-widget_type=\"table-of-contents.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t<style>\/*! elementor-pro - v3.8.2 - 21-11-2022 *\/\n.elementor-widget-table-of-contents .elementor-toc__header-title{color:var(--header-color)}.elementor-widget-table-of-contents.elementor-toc--collapsed .elementor-toc__toggle-button--collapse,.elementor-widget-table-of-contents:not(.elementor-toc--collapsed) .elementor-toc__toggle-button--expand{display:none}.elementor-widget-table-of-contents .elementor-widget-container{min-height:var(--box-min-height);border:var(--box-border-width,1px) solid var(--box-border-color,#a4afb7);border-radius:var(--box-border-radius,3px);background-color:var(--box-background-color);-webkit-transition:min-height .4s;-o-transition:min-height .4s;transition:min-height .4s;overflow:hidden}.elementor-toc__header{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:var(--box-padding,20px);background-color:var(--header-background-color);border-bottom:var(--separator-width,1px) solid var(--box-border-color,#a4afb7)}.elementor-toc__header-title{font-size:18px;margin:0;color:var(--header-color)}.elementor-toc__toggle-button{cursor:pointer;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex}.elementor-toc__toggle-button i{color:var(--toggle-button-color)}.elementor-toc__toggle-button svg{height:1em;width:1em;fill:var(--toggle-button-color)}.elementor-toc__spinner-container{text-align:center}.elementor-toc__spinner{font-size:2em}.elementor-toc__spinner.e-font-icon-svg{height:1em;width:1em}.elementor-toc__body{padding:var(--box-padding,20px);max-height:var(--toc-body-max-height);overflow-y:auto}.elementor-toc__body::-webkit-scrollbar{width:7px}.elementor-toc__body::-webkit-scrollbar-thumb{background-color:#c2cbd2;border-radius:10px}.elementor-toc__list-wrapper{list-style:none;padding:0}.elementor-toc__list-item{margin-bottom:.5em}.elementor-toc__list-item.elementor-item-active{font-weight:700}.elementor-toc__list-item .elementor-toc__list-wrapper{margin-top:.5em;margin-left:var(--nested-list-indent,1em)}.elementor-toc__list-item-text:hover{color:var(--item-text-hover-color);-webkit-text-decoration:var(--item-text-hover-decoration);text-decoration:var(--item-text-hover-decoration)}.elementor-toc__list-item-text.elementor-item-active{color:var(--item-text-active-color);-webkit-text-decoration:var(--item-text-active-decoration);text-decoration:var(--item-text-active-decoration)}.elementor-toc__list-item-text-wrapper{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.elementor-toc__list-item-text-wrapper:before,.elementor-toc__list-item-text-wrapper i{margin-right:8px;color:var(--marker-color)}.elementor-toc__list-item-text-wrapper svg{margin-right:8px;fill:var(--marker-color);height:var(--marker-size,.5em);width:var(--marker-size,.5em)}.elementor-toc__list-item-text-wrapper i{font-size:var(--marker-size,.5em)}.elementor-toc__list-item-text-wrapper:before{font-size:var(--marker-size,1em)}.elementor-toc--content-ellipsis .elementor-toc__list-item-text{white-space:nowrap;overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis}.elementor-toc__list-items--collapsible>.elementor-toc__list-wrapper>.elementor-toc__list-item>.elementor-toc__list-wrapper{display:none}.elementor-toc__heading-anchor{position:absolute}.elementor-toc__body .elementor-toc__list-item-text{color:var(--item-text-color);-webkit-text-decoration:var(--item-text-decoration);text-decoration:var(--item-text-decoration)}.elementor-toc__body .elementor-toc__list-item-text:hover{color:var(--item-text-hover-color);-webkit-text-decoration:var(--item-text-hover-decoration);text-decoration:var(--item-text-hover-decoration)}.elementor-toc__body .elementor-toc__list-item-text.elementor-item-active{color:var(--item-text-active-color);-webkit-text-decoration:var(--item-text-active-decoration);text-decoration:var(--item-text-active-decoration)}ol.elementor-toc__list-wrapper{counter-reset:item}ol.elementor-toc__list-wrapper .elementor-toc__list-item{counter-increment:item}ol.elementor-toc__list-wrapper .elementor-toc__list-item-text-wrapper:before{content:counters(item,\".\") \". \"}<\/style>\t\t<div class=\"elementor-toc__header\">\n\t\t\t<h4 class=\"elementor-toc__header-title\">\n\t\t\t\tContent\t\t\t<\/h4>\n\t\t\t\t\t<\/div>\n\t\t<div class=\"elementor-toc__body\">\n\t\t\t<div class=\"elementor-toc__spinner-container\">\n\t\t\t\t<i class=\"elementor-toc__spinner eicon-animation-spin eicon-loading\" aria-hidden=\"true\"><\/i>\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-e0e1e1f\" data-id=\"e0e1e1f\" data-element_type=\"column\">\r\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\r\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-fb348f4 elementor-widget elementor-widget-text-editor\" data-id=\"fb348f4\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\tIt&#8217;s a great improvement to our community website, as it enables people to connect in two clicks, without the hassle of filling out a long form to create an account. Returning users also benefit from this new feature: if their email address in LinkedIn is the same as the one they use for eXo Community, they can sign in with just one click.\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-8067419 elementor-widget elementor-widget-text-editor\" data-id=\"8067419\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\tA few days ago, a community member asked us how to make the LinkedIn sign-in mechanism work for his own project running eXo Platform 4. After we shared the process with him, we thought it would be valuable to share the knowledge with everyone. This article will focus on using LinkedIn authentication to sign in to Platform 4, but the same process should be usable to allow authentication via Facebook or Google+, as well.\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-12250c0 myheader1 elementor-widget elementor-widget-heading\" data-id=\"12250c0\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">I. Objective<\/h2>\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-c263266 elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"c263266\" data-element_type=\"widget\" data-widget_type=\"divider.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t<div class=\"elementor-divider\">\r\n\t\t\t<span class=\"elementor-divider-separator\">\r\n\t\t\t\t\t\t<\/span>\r\n\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-aa42e8e elementor-widget elementor-widget-text-editor\" data-id=\"aa42e8e\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\t<p>1. Users can sign into your eXo Platform 4 website using their LinkedIn accounts.<\/p>\n&nbsp;\n<p>2. The LinkedIn user profile can be imported into the eXo Platform user profile.<\/p>\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t\t\t\t<\/div>\r\n\t\t<\/section>\r\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-9dc308a elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"9dc308a\" data-element_type=\"section\">\r\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\r\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-4d86535\" data-id=\"4d86535\" data-element_type=\"column\">\r\n\t\t\t<div class=\"elementor-widget-wrap\">\r\n\t\t\t\t\t\t\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-4d6a230\" data-id=\"4d6a230\" data-element_type=\"column\">\r\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\r\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-1789738 myheader1 elementor-widget elementor-widget-heading\" data-id=\"1789738\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">II. Prerequisites<\/h2>\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-3e19de7 elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"3e19de7\" data-element_type=\"widget\" data-widget_type=\"divider.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t<div class=\"elementor-divider\">\r\n\t\t\t<span class=\"elementor-divider-separator\">\r\n\t\t\t\t\t\t<\/span>\r\n\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-c13f33d elementor-widget elementor-widget-text-editor\" data-id=\"c13f33d\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\tThis tutorial involves developing your own components, so it is good if you have knowledge about:\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-f95eeb8 elementor-widget elementor-widget-text-editor\" data-id=\"f95eeb8\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\t<ul style=\"list-style: disc; margin-left: 20px!important;\">\n \t<li><a style=\"color: #2f5e92; text-decoration: underline;\" href=\"http:\/\/docs.exoplatform.com\/public\/index.jsp?topic=%2FPLF40%2FPLFDevGuide.eXoPlatformExtensions.html\" target=\"_blank\" rel=\"noopener\">eXo Platform Extension<\/a><\/li>\n \t<li><a style=\"color: #2f5e92; text-decoration: underline;\" href=\"http:\/\/docs.exoplatform.com\/public\/topic\/PLF40\/sect-Reference_Guide-Login_Modules.html?cp=1_7_4_0_0\" target=\"_blank\" rel=\"noopener\">JAAS Login modules<\/a><\/li>\n \t<li><a style=\"color: #2f5e92; text-decoration: underline;\" href=\"http:\/\/docs.oracle.com\/javaee\/6\/tutorial\/doc\/bnagb.html\" target=\"_blank\" rel=\"noopener\">Filter<\/a> in java<\/li>\n \t<li><a style=\"color: #2f5e92; text-decoration: underline;\" href=\"http:\/\/docs.exoplatform.com\/PLF30\/refguide\/html\/ch-how-to-extend-my-gatein-instance.html#d0e18239\" target=\"_blank\" rel=\"noopener\">Filters in eXo<\/a><\/li>\n \t<li>The <a style=\"color: #2f5e92; text-decoration: underline;\" href=\"https:\/\/github.com\/fernandezpablo85\/scribe-java\" target=\"_blank\" rel=\"noopener\">scribe<\/a> API, <a style=\"color: #2f5e92; text-decoration: underline;\" href=\"http:\/\/maven.apache.org\/\" target=\"_blank\" rel=\"noopener\">Maven<\/a>, and <a style=\"color: #2f5e92; text-decoration: underline;\" href=\"https:\/\/github.com\/\" target=\"_blank\" rel=\"noopener\">GIT<\/a><\/li>\n<\/ul>\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t\t\t\t<\/div>\r\n\t\t<\/section>\r\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-a20eb14 dow1-cl elementor-reverse-tablet elementor-reverse-mobile elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"a20eb14\" data-element_type=\"section\">\r\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\r\n\t\t\t\t\t<div class=\"elementor-column elementor-col-33 elementor-top-column elementor-element elementor-element-9d4a26b\" data-id=\"9d4a26b\" data-element_type=\"column\">\r\n\t\t\t<div class=\"elementor-widget-wrap\">\r\n\t\t\t\t\t\t\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-column elementor-col-66 elementor-top-column elementor-element elementor-element-adae1b2\" data-id=\"adae1b2\" data-element_type=\"column\">\r\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\r\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-3205a80 elementor-cta--skin-cover elementor-cta--valign-middle elementor-widget elementor-widget-call-to-action\" data-id=\"3205a80\" data-element_type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;none&quot;}\" data-widget_type=\"call-to-action.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t<link rel=\"stylesheet\" href=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/plugins\/elementor-pro\/assets\/css\/widget-call-to-action.min.css\">\t\t<div class=\"elementor-cta\">\n\t\t\t\t\t<div class=\"elementor-cta__bg-wrapper\">\n\t\t\t\t<div class=\"elementor-cta__bg elementor-bg\" style=\"background-image: url(https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2022\/12\/cta-datasheet-exo-6-9.png);\"><\/div>\n\t\t\t\t<div class=\"elementor-cta__bg-overlay\"><\/div>\n\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"elementor-cta__content\">\n\t\t\t\t\n\t\t\t\t<div class=\"elementor-cta__title elementor-cta__content-item elementor-content-item\">eXo Platform 6 Free Datasheet\u200b\u200b<\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-cta__description elementor-cta__content-item elementor-content-item\">\n\t\t\t\t\t\tDownload the eXo Platform 6 Datasheet and <br>discover all the features and benefits\t\t\t\t\t<\/div>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-cta__button-wrapper elementor-cta__content-item elementor-content-item \">\n\t\t\t\t\t<a class=\"elementor-cta__button elementor-button elementor-size-md\" href=\"https:\/\/www.exoplatform.com\/datasheet-exo-platform-6\/?utm_source=BlogEn&#038;utm_medium=Blog&#038;utm_campaign=Content&#038;utm_content=cta\">\n\t\t\t\t\t\tDownload Now\t\t\t\t\t<\/a>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t\t\t\t<\/div>\r\n\t\t<\/section>\r\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-71c2065 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"71c2065\" data-element_type=\"section\">\r\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\r\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-6678af6\" data-id=\"6678af6\" data-element_type=\"column\">\r\n\t\t\t<div class=\"elementor-widget-wrap\">\r\n\t\t\t\t\t\t\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-80fd092\" data-id=\"80fd092\" data-element_type=\"column\">\r\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\r\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-90bd50e myheader1 elementor-widget elementor-widget-heading\" data-id=\"90bd50e\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">III. Steps<\/h2>\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-2d01247 elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"2d01247\" data-element_type=\"widget\" data-widget_type=\"divider.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t<div class=\"elementor-divider\">\r\n\t\t\t<span class=\"elementor-divider-separator\">\r\n\t\t\t\t\t\t<\/span>\r\n\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-94ea2e5 elementor-widget elementor-widget-text-editor\" data-id=\"94ea2e5\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\tSummary of the steps:\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-e1c45cb elementor-widget elementor-widget-text-editor\" data-id=\"e1c45cb\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\t<p><i>1. Obtain LinkedIn API key and secret key via the LinkedIn developer website.<\/i><\/p>\n\n<p><i>2. Develop a LinkedIn OAuth component (.jar) in your own java project.<\/i><\/p>\n\n<p><i>3. Deploy your component into eXo Platform<\/i><\/p>\n\n<p><i>4. Develop a login module (.jar) in your java project.<\/i><\/p>\n\n<p><i>5. Deploy and configure JAAS Realm to enable your login module.<\/i><\/p>\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-a430168 elementor-widget elementor-widget-heading\" data-id=\"a430168\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">1. Obtain LinkedIn API key and secret code.<\/h3>\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-81244c3 elementor-widget elementor-widget-text-editor\" data-id=\"81244c3\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\t<p>&#8211; Sign in at <a style=\"color: #2f5e92; text-decoration: underline;\" href=\"http:\/\/developer.linkedin.com\" target=\"_blank\" rel=\"noopener\">http:\/\/developer.linkedin.com<\/a><\/p>\n\n<p>&#8211; Click \u201cAPI Keys\u201d, in the drop-down menu under your name.<\/p>\n\n<p>&#8211; Click \u201cAdd New Application\u201d to launch the LinkedIn Application Wizard.<\/p>\n\n<p>&#8211; Complete the wizard. Notice that in the Default Scope section, \u201cr_emailaddress\u201d should be checked.<\/p>\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-b933df9 elementor-widget elementor-widget-image\" data-id=\"b933df9\" data-element_type=\"widget\" data-widget_type=\"image.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"1024\" height=\"186\" src=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/12\/01_OAuth_user_details-1024x186.png\" class=\"attachment-large size-large wp-image-33579\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/12\/01_OAuth_user_details-1024x186.png 1024w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/12\/01_OAuth_user_details-300x54.png 300w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/12\/01_OAuth_user_details-768x139.png 768w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/12\/01_OAuth_user_details-720x131.png 720w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/12\/01_OAuth_user_details-500x91.png 500w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/12\/01_OAuth_user_details-360x65.png 360w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/12\/01_OAuth_user_details-200x36.png 200w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/12\/01_OAuth_user_details-100x18.png 100w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/12\/01_OAuth_user_details-70x13.png 70w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/12\/01_OAuth_user_details.png 1059w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-b6932d0 elementor-widget elementor-widget-text-editor\" data-id=\"b6932d0\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\t&#8211; Once the wizard is complete and the information is saved, you can retrieve your API key and secret key. Note that the keys can be regenerated later, if needed.\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-0e3891f elementor-widget elementor-widget-image\" data-id=\"0e3891f\" data-element_type=\"widget\" data-widget_type=\"image.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"495\" height=\"223\" src=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/12\/02_OAuth_Keys.png\" class=\"attachment-large size-large wp-image-33580\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/12\/02_OAuth_Keys.png 495w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/12\/02_OAuth_Keys-300x135.png 300w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/12\/02_OAuth_Keys-360x162.png 360w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/12\/02_OAuth_Keys-200x90.png 200w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/12\/02_OAuth_Keys-100x45.png 100w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/12\/02_OAuth_Keys-67x30.png 67w\" sizes=\"(max-width: 495px) 100vw, 495px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t\t\t\t<\/div>\r\n\t\t<\/section>\r\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-124dcb2 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"124dcb2\" data-element_type=\"section\">\r\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\r\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-772cdff\" data-id=\"772cdff\" data-element_type=\"column\">\r\n\t\t\t<div class=\"elementor-widget-wrap\">\r\n\t\t\t\t\t\t\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-bf83cbb\" data-id=\"bf83cbb\" data-element_type=\"column\">\r\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\r\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-d2c5910 elementor-widget elementor-widget-heading\" data-id=\"d2c5910\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">2. Develop a LinkedIn OAuth component (.jar).<\/h3>\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-98739f7 elementor-widget elementor-widget-text-editor\" data-id=\"98739f7\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\t<p>&#8211; Start your Maven project.<\/p>\n\n<p>&#8211; Edit your pom.xml to add scribe dependency:<\/p>\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-42cd2d2 elementor-widget elementor-widget-code-highlight\" data-id=\"42cd2d2\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-javascript line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-javascript\">\n\t\t\t\t\t<xmp><dependency>  \r\n\t<groupId>org.scribe<\/groupId>  \r\n\t<artifactId>scribe<\/artifactId>  \r\n\t<version>1.3.5<\/version>        \r\n<\/dependency><\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-f85a494 elementor-widget elementor-widget-text-editor\" data-id=\"f85a494\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\tThe scrib library can be used this way:\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-6ff0bb5 elementor-widget elementor-widget-code-highlight\" data-id=\"6ff0bb5\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-javascript line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-javascript\">\n\t\t\t\t\t<xmp>import org.scribe.builder.ServiceBuilder;\r\nimport org.scribe.builder.api.LinkedInApi;\r\nimport org.scribe.model.OAuthRequest;\r\nimport org.scribe.model.Response;\r\nimport org.scribe.model.Token;\r\nimport org.scribe.model.Verb;\r\nimport org.scribe.model.Verifier;\r\nimport org.scribe.oauth.OAuthService;<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-184d315 elementor-widget elementor-widget-text-editor\" data-id=\"184d315\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\t&#8211; Write a java class that carries out the interconnection between eXo Platform and LinkedIn using Scribe API.\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-6843fc9 elementor-widget elementor-widget-text-editor\" data-id=\"6843fc9\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\t<p>The interconnection is explained here:<\/p>\n<p>&#8211; <a style=\"color: #2f5e92; text-decoration: underline;\" href=\"http:\/\/developer.linkedin.com\/documents\/authentication\" target=\"_blank\" rel=\"noopener\">http:\/\/developer.linkedin.com\/documents\/authentication<\/a><\/p>\n&nbsp;\n<p>If you need to read more about Scribe API:\n<p>&#8211; <a style=\"color: #2f5e92; text-decoration: underline;\" href=\"http:\/\/developer.linkedin.com\/thread\/2239\" target=\"_blank\" rel=\"noopener\">http:\/\/developer.linkedin.com\/thread\/2239<\/a>\n<p>&#8211; <a style=\"color: #2f5e92; text-decoration: underline;\" href=\"https:\/\/github.com\/fernandezpablo85\/scribe-java\" target=\"_blank\" rel=\"noopener\">https:\/\/github.com\/fernandezpablo85\/scribe-java<\/a><\/p>\n&nbsp;\n<p>&#8211; Write another class (called \u201cfilter\u201d in this tutorial) that:<\/p>\n&nbsp;\n<ul style=\"list-style: disc; margin-left: 20px!important;\">\n \t<li>Redirects users to the LinkedIn login page using the login url<\/li>\n \t<li>Redirects users to the login page on our website once the needed information has been retrieved<\/li>\n<\/ul>\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-b139fa5 elementor-widget elementor-widget-heading\" data-id=\"b139fa5\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www-dev.exoplatform.com\/blog\/wp-content\/uploads\/2022\/12\/pucejaune.jpg\" alt=\"\" width=\"7\" height=\"6\">  Sample code for the filter\n<\/h3>\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-daee62c elementor-widget elementor-widget-code-highlight\" data-id=\"daee62c\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-javascript line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-javascript\">\n\t\t\t\t\t<xmp>public class OAuthLinkedinFilter implements org.exoplatform.web.filter.Filter{\r\n\r\n\tpublic void doFilter(ServletRequest request, ServletResponse response,FilterChain chain) throws IOException, ServletException {\r\n\t\t\r\n\tHttpServletRequest req = (HttpServletRequest)request;\r\n    HttpServletResponse res = (HttpServletResponse)response;\r\n    HttpSession session = req.getSession(true);\r\n    LinkedinAuthHelper helper = new LinkedinAuthHelper();\r\n    String code = request.getParameter(\"code\");\r\n    String stateRes = request.getParameter(\"state\");\r\n    String stateReq = (String)session.getAttribute(\"state\");\r\n    if(code == null ||  stateReq == null || stateRes == null || \"\".equals(code) || \"\".equals(stateReq) || \"\".equals(stateRes) || !stateRes.equals(stateReq)){\r\n\t\t\tsession.setAttribute(\"state\", helper.getStateToken());\r\n\t\t\tString loginUrl = helper.getLoginUrl();\r\n\t\t\tres.sendRedirect(loginUrl);\r\n\t\t\treturn;              \r\n\t\t}else if(code != null  && stateRes != null && stateReq != null && stateRes.equals(stateReq)){\r\n      session.removeAttribute(\"state\");    \r\n      String username = helper.getUsernameFromTokenCode(code);\r\n      if(username != null){\r\n          SecureRandom random = new SecureRandom();\r\n          String password = new BigInteger(130, random).toString(32);\r\n          session.setAttribute(\"oauth_username\",username);\r\n          session.setAttribute(\"oauth_password\",password);\r\n          res.sendRedirect(\"\/portal\/login?username=\"+username+\"&password=\"+password);\r\n          return;     \r\n      }        \r\n    }\r\n}<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-ead6a39 elementor-widget elementor-widget-text-editor\" data-id=\"ead6a39\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\tNote: This sample saves the username and password in a browser session.\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t\t\t\t<\/div>\r\n\t\t<\/section>\r\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-8513811 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"8513811\" data-element_type=\"section\">\r\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\r\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-8d38ebc\" data-id=\"8d38ebc\" data-element_type=\"column\">\r\n\t\t\t<div class=\"elementor-widget-wrap\">\r\n\t\t\t\t\t\t\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-7ab450e\" data-id=\"7ab450e\" data-element_type=\"column\">\r\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\r\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-958ce0c elementor-widget elementor-widget-heading\" data-id=\"958ce0c\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">3. Deploy your LinkedIn Auth component.<\/h3>\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-332c63b elementor-widget elementor-widget-text-editor\" data-id=\"332c63b\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\t<p>&#8211; After building your project, install jar to <span class=\"navCode\">tomcat\/lib<\/span>.<\/p>\n&nbsp;\n<p>&#8211; Declare the filter via an <a style=\"color: #2f5e92; text-decoration: underline;\" href=\"http:\/\/docs.exoplatform.com\/public\/index.jsp?topic=%2FPLF40%2FPLFDevGuide.eXoPlatformExtensions.html\" target=\"_blank\" rel=\"noopener\">eXo Platform Extension<\/a>. The filter will be declared in <span class=\"navCode\">WEB-INF\/conf\/portal\/configuration.xml<\/span>, as in the following sample. (Note that the class name is <span class=\"navCode\">org.exoplatform.community.oauth.linkedin.OAuthLinkedinFilter<\/span> and the url is <span class=\"navCode\">\/linkedinAuth<\/span>.)<\/p>\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-9483906 elementor-widget elementor-widget-code-highlight\" data-id=\"9483906\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-javascript line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-javascript\">\n\t\t\t\t\t<xmp><?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\r\n<configuration xmlns:xsi=\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\"\r\n               xsi:schemaLocation=\"http:\/\/www.exoplaform.org\/xml\/ns\/kernel_1_2.xsd http:\/\/www.exoplaform.org\/xml\/ns\/kernel_1_2.xsd\"\r\n               xmlns=\"http:\/\/www.exoplaform.org\/xml\/ns\/kernel_1_2.xsd\">\r\n  <external-component-plugins>\r\n \r\n      <!-- The full qualified name of the ExtensibleFilter -->\r\n    <target-component>org.exoplatform.web.filter.ExtensibleFilter<\/target-component>\r\n    <component-plugin>\r\n      <!-- The name of the plugin -->\r\n      <name>Sample Filter Definition Plugin<\/name>\r\n      <!-- The name of the method to call on the ExtensibleFilter in order to register the FilterDefinitions -->\r\n      <set-method>addFilterDefinitions<\/set-method>\r\n      <!-- The full qualified name of the FilterDefinitionPlugin -->\r\n      <type>org.exoplatform.web.filter.FilterDefinitionPlugin<\/type>\r\n      <init-params>\r\n        <object-param>\r\n          <name>Sample Filter Definition<\/name>\r\n          <object type=\"org.exoplatform.web.filter.FilterDefinition\">\r\n            <!-- The filter instance -->\r\n            <field name=\"filter\">\r\n              <object type=\"org.exoplatform.community.oauth.linkedin.OAuthLinkedinFilter\"\/>\r\n            <\/field>\r\n            <!-- The mapping to use -->\r\n            <!-- WARNING: the mapping is expressed with regular expressions -->\r\n            <field name=\"patterns\">\r\n              <collection type=\"java.util.ArrayList\" item-type=\"java.lang.String\">\r\n                <value>\r\n                  <string>\/linkedinAuth<\/string>\r\n                <\/value>\r\n              <\/collection>\r\n            <\/field>\r\n          <\/object>\r\n        <\/object-param>\r\n      <\/init-params>\r\n    <\/component-plugin>      \r\n  <\/external-component-plugins>\r\n<\/configuration><\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-572ebde elementor-widget elementor-widget-text-editor\" data-id=\"572ebde\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\tMore about declaring filters in eXo Platform extension: <a style=\"color: #2f5e92; text-decoration: underline;\" href=\"http:\/\/docs.exoplatform.com\/PLF30\/refguide\/html\/ch-how-to-extend-my-gatein-instance.html#d0e18239\" target=\"_blank\" rel=\"noopener\">http:\/\/docs.exoplatform.com\/PLF30\/refguide\/html\/ch-how-to-extend-my-gatein-instance.html#d0e18239<\/a>\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t\t\t\t<\/div>\r\n\t\t<\/section>\r\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-b07e59e elementor-hidden-desktop elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"b07e59e\" data-element_type=\"section\">\r\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\r\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-f94e69c suppblock\" data-id=\"f94e69c\" data-element_type=\"column\">\r\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\r\n\t\t\t\t\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-6db41af elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"6db41af\" data-element_type=\"section\">\r\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\r\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-inner-column elementor-element elementor-element-58ef599\" data-id=\"58ef599\" data-element_type=\"column\">\r\n\t\t\t<div class=\"elementor-widget-wrap\">\r\n\t\t\t\t\t\t\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t\t\t\t<\/div>\r\n\t\t<\/section>\r\n\t\t\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-2ac9c83\" data-id=\"2ac9c83\" data-element_type=\"column\">\r\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\r\n\t\t\t\t\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-e5114f2 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"e5114f2\" data-element_type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\r\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\r\n\t\t\t\t\t<div class=\"elementor-column elementor-col-33 elementor-inner-column elementor-element elementor-element-ecff8e4\" data-id=\"ecff8e4\" data-element_type=\"column\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\r\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\r\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-396b546 elementor-widget elementor-widget-image\" data-id=\"396b546\" data-element_type=\"widget\" data-widget_type=\"image.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"159\" height=\"222\" src=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2022\/12\/open-source-wp.png\" class=\"attachment-large size-large wp-image-40335\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2022\/12\/open-source-wp.png 159w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2022\/12\/open-source-wp-94x131.png 94w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2022\/12\/open-source-wp-64x90.png 64w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2022\/12\/open-source-wp-21x30.png 21w\" sizes=\"(max-width: 159px) 100vw, 159px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-column elementor-col-33 elementor-inner-column elementor-element elementor-element-296f5df buttonright\" data-id=\"296f5df\" data-element_type=\"column\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\r\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\r\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-7cd7b2d elementor-widget elementor-widget-image\" data-id=\"7cd7b2d\" data-element_type=\"widget\" data-widget_type=\"image.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"207\" height=\"34\" src=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2022\/12\/white-1.jpg\" class=\"attachment-large size-large wp-image-38144\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2022\/12\/white-1.jpg 207w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2022\/12\/white-1-200x33.jpg 200w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2022\/12\/white-1-100x16.jpg 100w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2022\/12\/white-1-70x11.jpg 70w\" sizes=\"(max-width: 207px) 100vw, 207px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-c08d552 elementor-widget elementor-widget-heading\" data-id=\"c08d552\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t<h6 class=\"elementor-heading-title elementor-size-default\">FREE WHITE PAPER<\/h6>\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-0fef4b6 elementor-widget-mobile__width-initial elementor-widget elementor-widget-text-editor\" data-id=\"0fef4b6\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\tBenefits of Open Source Software <br>for the Enterprise\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-5e504d2 elementor-hidden-tablet elementor-hidden-mobile elementor-widget elementor-widget-text-editor\" data-id=\"5e504d2\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\tOpen source\nen entreprise\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-column elementor-col-33 elementor-inner-column elementor-element elementor-element-4eb9c23 buttonright\" data-id=\"4eb9c23\" data-element_type=\"column\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\r\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\r\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-d955b99 elementor-widget elementor-widget-text-editor\" data-id=\"d955b99\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\tThe term open source refers to any solution that has its source code widely accessible to the public for modification and sharing.\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-b2e6ce4 elementor-align-center elementor-widget elementor-widget-button\" data-id=\"b2e6ce4\" data-element_type=\"widget\" data-widget_type=\"button.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t<div class=\"elementor-button-wrapper\">\r\n\t\t\t<a href=\"https:\/\/www.exoplatform.com\/benefits-of-open-source-software-for-the-enterprise-white-paper\/?utm_source=BlogEn&#038;utm_medium=Blog&#038;utm_campaign=Content&#038;utm_content=cta\" class=\"elementor-button-link elementor-button elementor-size-md\" role=\"button\">\r\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\r\n\t\t\t\t\t\t<span class=\"elementor-button-text\">Download Now<\/span>\r\n\t\t<\/span>\r\n\t\t\t\t\t<\/a>\r\n\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t\t\t\t<\/div>\r\n\t\t<\/section>\r\n\t\t\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t\t\t\t<\/div>\r\n\t\t<\/section>\r\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-5a02c13 elementor-hidden-tablet elementor-hidden-mobile elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"5a02c13\" data-element_type=\"section\">\r\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\r\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-4c5ef0c suppblock\" data-id=\"4c5ef0c\" data-element_type=\"column\">\r\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\r\n\t\t\t\t\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-0acf5e3 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"0acf5e3\" data-element_type=\"section\">\r\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\r\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-inner-column elementor-element elementor-element-95d719a\" data-id=\"95d719a\" data-element_type=\"column\">\r\n\t\t\t<div class=\"elementor-widget-wrap\">\r\n\t\t\t\t\t\t\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t\t\t\t<\/div>\r\n\t\t<\/section>\r\n\t\t\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-b563d65\" data-id=\"b563d65\" data-element_type=\"column\">\r\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\r\n\t\t\t\t\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-13680e6 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"13680e6\" data-element_type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\r\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\r\n\t\t\t\t\t<div class=\"elementor-column elementor-col-33 elementor-inner-column elementor-element elementor-element-530489e\" data-id=\"530489e\" data-element_type=\"column\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\r\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\r\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-72a04e6 elementor-widget elementor-widget-image\" data-id=\"72a04e6\" data-element_type=\"widget\" data-widget_type=\"image.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"159\" height=\"222\" src=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2022\/12\/open-source-wp.png\" class=\"attachment-large size-large wp-image-40335\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2022\/12\/open-source-wp.png 159w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2022\/12\/open-source-wp-94x131.png 94w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2022\/12\/open-source-wp-64x90.png 64w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2022\/12\/open-source-wp-21x30.png 21w\" sizes=\"(max-width: 159px) 100vw, 159px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-column elementor-col-33 elementor-inner-column elementor-element elementor-element-c6a265c buttonright\" data-id=\"c6a265c\" data-element_type=\"column\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\r\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\r\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-e70e40a elementor-widget elementor-widget-image\" data-id=\"e70e40a\" data-element_type=\"widget\" data-widget_type=\"image.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"207\" height=\"34\" src=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2022\/12\/white-1.jpg\" class=\"attachment-large size-large wp-image-38144\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2022\/12\/white-1.jpg 207w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2022\/12\/white-1-200x33.jpg 200w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2022\/12\/white-1-100x16.jpg 100w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2022\/12\/white-1-70x11.jpg 70w\" sizes=\"(max-width: 207px) 100vw, 207px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-c88bdfd elementor-widget elementor-widget-heading\" data-id=\"c88bdfd\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t<h6 class=\"elementor-heading-title elementor-size-default\">FREE WHITE PAPER<\/h6>\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-b296093 elementor-widget elementor-widget-text-editor\" data-id=\"b296093\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\tBenefits of Open Source Software <br>for the Enterprise\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-column elementor-col-33 elementor-inner-column elementor-element elementor-element-be3f338 buttonright\" data-id=\"be3f338\" data-element_type=\"column\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\r\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\r\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-8082311 elementor-widget elementor-widget-text-editor\" data-id=\"8082311\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\tThe term open source refers to any solution that has its source code widely accessible to the public for modification and sharing.\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-c670b5f elementor-align-center elementor-widget elementor-widget-button\" data-id=\"c670b5f\" data-element_type=\"widget\" data-widget_type=\"button.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t<div class=\"elementor-button-wrapper\">\r\n\t\t\t<a href=\"https:\/\/www.exoplatform.com\/benefits-of-open-source-software-for-the-enterprise-white-paper\/?utm_source=BlogEn&#038;utm_medium=Blog&#038;utm_campaign=Content&#038;utm_content=cta\" class=\"elementor-button-link elementor-button elementor-size-md\" role=\"button\">\r\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\r\n\t\t\t\t\t\t<span class=\"elementor-button-text\">Download Now<\/span>\r\n\t\t<\/span>\r\n\t\t\t\t\t<\/a>\r\n\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t\t\t\t<\/div>\r\n\t\t<\/section>\r\n\t\t\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t\t\t\t<\/div>\r\n\t\t<\/section>\r\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-663c8bc elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"663c8bc\" data-element_type=\"section\">\r\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\r\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-8d1fa36\" data-id=\"8d1fa36\" data-element_type=\"column\">\r\n\t\t\t<div class=\"elementor-widget-wrap\">\r\n\t\t\t\t\t\t\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-d1814b0\" data-id=\"d1814b0\" data-element_type=\"column\">\r\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\r\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-946fb39 elementor-widget elementor-widget-heading\" data-id=\"946fb39\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">4. Develop your login module.<\/h3>\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-93dccba elementor-widget elementor-widget-text-editor\" data-id=\"93dccba\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\t<p>&#8211; Write a <a style=\"color: #2f5e92; text-decoration: underline;\" href=\"http:\/\/docs.exoplatform.com\/public\/topic\/PLF40\/sect-Reference_Guide-Login_Modules.html?cp=1_7_4_0_0\" target=\"_blank\" rel=\"noopener\">login module<\/a> that extends <i>AbstractLoginModule<\/i>.<\/p>\n&nbsp;\n<p>See the code sample below:<\/p>\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-72e5b6e elementor-widget elementor-widget-code-highlight\" data-id=\"72e5b6e\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-javascript line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-javascript\">\n\t\t\t\t\t<xmp>package org.exoplatform.community.service.sso;\r\npublic class ORGLoginModule extends AbstractLoginModule {\r\n\r\n\tpublic boolean login() throws LoginException {  \r\n    \r\n    try {  \r\n\t\t\tHttpServletRequest request = getCurrentHttpServletRequest();    \r\n\t\t\tExoContainer container = getContainer();  \r\n\t\t\tHttpSession session = request.getSession(true);  \r\n\t\t\tString username = null;  \r\n\t\t\tString password = null;   \r\n\t\t\tif(session != null) {    \r\n\t\t\t\tif(session.getAttribute(\"oauth_username\") != null) {  \r\n\t\t\t\t\t username = (String) session.getAttribute(\"oauth_username\");  \r\n\t\t\t\t\t session.removeAttribute(\"oauth_username\");  \r\n\t\t\t\t}  \r\n\t\t\t\tif(session.getAttribute(\"oauth_password\") != null) {  \r\n\t\t\t\t\t password = (String) session.getAttribute(\"oauth_password\");  \r\n\t\t\t\t\t session.removeAttribute(\"oauth_password\");  \r\n\t\t\t\t}  \r\n      }  \r\n\t\t\tif(username != null){  \r\n\t\t\t\testablishSecurityContext(container, username);   \r\n\t\t\t\tif (log.isTraceEnabled()) {   \r\n\t\t\t\t\tlog.trace(\"Successfully established security context for user \" + username);  \r\n\t\t\t\t}\r\n\t\t\t\treturn true;  \r\n\t\t\t}  \r\n\t\t\treturn false;  \r\n \r\n    }catch (Exception e) {   \r\n\t\tif (log.isTraceEnabled()) {   \r\n\t\t\tlog.trace(\"Exception in login module\", e);  \r\n    }  \r\n    return false;  \r\n}  \r\n\r\n\tprotected void establishSecurityContext(ExoContainer container, String username) throws Exception {\r\n        \r\n\t\tAuthenticator authenticator = (Authenticator) container.getComponentInstanceOfType(Authenticator.class);\r\n  \tif (authenticator == null) {\r\n\t\t\tthrow new LoginException(\"No Authenticator component found, check your configuration\");\r\n    }\r\n    Identity identity = authenticator.createIdentity(username);\r\n    sharedState.put(\"exo.security.identity\", identity);\r\n    sharedState.put(\"javax.security.auth.login.name\", username);\r\n    UsernameCredential usernameCredential = new UsernameCredential(username);\r\n    subject.getPublicCredentials().add(usernameCredential);\r\n    }\r\n\t}<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t\t\t\t<\/div>\r\n\t\t<\/section>\r\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-8a11291 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"8a11291\" data-element_type=\"section\">\r\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\r\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-88dd777\" data-id=\"88dd777\" data-element_type=\"column\">\r\n\t\t\t<div class=\"elementor-widget-wrap\">\r\n\t\t\t\t\t\t\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-2844ec5\" data-id=\"2844ec5\" data-element_type=\"column\">\r\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\r\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-0a67b35 elementor-widget elementor-widget-heading\" data-id=\"0a67b35\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">5. Deploy and configure JAAS to enable your login module.<\/h3>\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-c647f7c elementor-widget elementor-widget-text-editor\" data-id=\"c647f7c\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\t<p>&#8211; After building your login module jar, install it to <span class=\"navCode\">tomcat\/lib<\/span><\/p>.\n&nbsp;\n<p>&#8211; Configure to enable the module in <span class=\"navCode\">tomcat\/conf\/jaas.conf<\/span>. Your login module should be placed before other modules. In the following example, it is ORGLoginModule:<\/p>\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-8b77728 elementor-widget elementor-widget-code-highlight\" data-id=\"8b77728\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-javascript line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-javascript\">\n\t\t\t\t\t<xmp>gatein-domain {\r\n\torg.exoplatform.community.service.sso.ORGLoginModule required;\r\n\torg.gatein.sso.integration.SSODelegateLoginModule required\r\n\tenabled=\"#{gatein.sso.login.module.enabled}\"\r\n\tdelegateClassName=\"#{gatein.sso.login.module.class}\"\r\n\tportalContainerName=portal\r\n\trealmName=gatein-domain\r\n\tpassword-stacking=useFirstPass;\r\n\torg.exoplatform.services.security.j2ee.TomcatLoginModule required\r\n\tportalContainerName=portal\r\n\trealmName=gatein-domain;\r\n};<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t\t\t\t<\/div>\r\n\t\t<\/section>\r\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-211439b elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"211439b\" data-element_type=\"section\">\r\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\r\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-25f20e2\" data-id=\"25f20e2\" data-element_type=\"column\">\r\n\t\t\t<div class=\"elementor-widget-wrap\">\r\n\t\t\t\t\t\t\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-5aa8f8b\" data-id=\"5aa8f8b\" data-element_type=\"column\">\r\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\r\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-698aec2 elementor-widget elementor-widget-heading\" data-id=\"698aec2\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">6. Test it.<\/h3>\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-1c33be5 elementor-widget elementor-widget-text-editor\" data-id=\"1c33be5\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\t<p>&#8211; To check if the filter works, go to <span class=\"navCode\">{your website}\/portal\/linkedInAuth<\/span><\/p>\n&nbsp;\n<p>If the module is working, it will redirect you to a LinkedIn login page like this one:<\/p>\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-1ff05b4 elementor-widget elementor-widget-image\" data-id=\"1ff05b4\" data-element_type=\"widget\" data-widget_type=\"image.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"461\" height=\"577\" src=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/12\/03_LinkedIn_Login_page.png\" class=\"attachment-large size-large wp-image-33581\" alt=\"\" loading=\"lazy\" srcset=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/12\/03_LinkedIn_Login_page.png 461w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/12\/03_LinkedIn_Login_page-240x300.png 240w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/12\/03_LinkedIn_Login_page-378x473.png 378w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/12\/03_LinkedIn_Login_page-262x328.png 262w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/12\/03_LinkedIn_Login_page-189x236.png 189w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/12\/03_LinkedIn_Login_page-105x131.png 105w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/12\/03_LinkedIn_Login_page-72x90.png 72w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2013\/12\/03_LinkedIn_Login_page-24x30.png 24w\" sizes=\"(max-width: 461px) 100vw, 461px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-d021ef4 elementor-widget elementor-widget-text-editor\" data-id=\"d021ef4\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\t<p>Once you are identified on LinkedIn and allow access, you will be redirected back to the website with the user data provided by LinkedIn. These data are formatted under json format in the following manner:<\/p>\n&nbsp;\n<p>{&#8220;id&#8221;:&#8221;QuUeufSui4&#8243;,&#8221;lastName&#8221;:&#8221;Vu&#8221;,&#8221;emailAddress&#8221;:&#8221;anhvta@yahoo.com&#8221;,&#8221;firstName&#8221;:&#8221;Tuan Anh&#8221;}<\/p>\n&nbsp;\n<p>Now, you can do whatever you want with these data.<\/p>\n&nbsp;\n<p>See the mechanism in action by <a style=\"color: #2f5e92; text-decoration: underline;\" href=\"https:\/\/community.exoplatform.com\/portal\/dw\/\" target=\"_blank\" rel=\"noopener\">signing in into the community<\/a>, and learn more about our add-ons and what you can do with eXo Platform 4.<\/p>\n&nbsp;\n<p><strong><a style=\"color: #2f5e92; text-decoration: underline;\" href=\"https:\/\/community.exoplatform.com\/portal\/dw\/\" target=\"_blank\" rel=\"noopener\">Join the eXo Community<\/a> if you have any questions or if you want more details on how we did it for Google+ and Facebook logins.<\/strong><\/p>\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t\t\t\t<\/div>\r\n\t\t<\/section>\r\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-7d554e5 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"7d554e5\" data-element_type=\"section\">\r\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\r\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-5a97a5a suppblock\" data-id=\"5a97a5a\" data-element_type=\"column\">\r\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\r\n\t\t\t\t\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-1420bc6 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"1420bc6\" data-element_type=\"section\">\r\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\r\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-inner-column elementor-element elementor-element-0abe0e8\" data-id=\"0abe0e8\" data-element_type=\"column\">\r\n\t\t\t<div class=\"elementor-widget-wrap\">\r\n\t\t\t\t\t\t\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t\t\t\t<\/div>\r\n\t\t<\/section>\r\n\t\t\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-587d608\" data-id=\"587d608\" data-element_type=\"column\">\r\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\r\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-34655ac elementor-cta--skin-cover elementor-cta--valign-middle digitalplatform elementor-hidden-desktop elementor-widget elementor-widget-call-to-action\" data-id=\"34655ac\" data-element_type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;none&quot;}\" data-widget_type=\"call-to-action.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t<div class=\"elementor-cta\">\n\t\t\t\t\t<div class=\"elementor-cta__bg-wrapper\">\n\t\t\t\t<div class=\"elementor-cta__bg elementor-bg\" style=\"background-image: url(https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2022\/12\/blo1-okok.jpg);\"><\/div>\n\t\t\t\t<div class=\"elementor-cta__bg-overlay\"><\/div>\n\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"elementor-cta__content\">\n\t\t\t\t\n\t\t\t\t<h6 class=\"elementor-cta__title elementor-cta__content-item elementor-content-item\">Get in Touch with our Experts <\/h6>\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-cta__description elementor-cta__content-item elementor-content-item\">\n\t\t\t\t\t\tLearn How we Can Help Your Teams Collaborate and Get Things done\t\t\t\t\t<\/div>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-cta__button-wrapper elementor-cta__content-item elementor-content-item \">\n\t\t\t\t\t<a class=\"elementor-cta__button elementor-button elementor-size-md\" href=\"https:\/\/www.exoplatform.com\/contact-us\/?utm_source=BlogEn&#038;utm_medium=Blog&#038;utm_campaign=Content&#038;utm_content=cta\">\n\t\t\t\t\t\tContact us\t\t\t\t\t<\/a>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-9afaf7e elementor-hidden-tablet elementor-hidden-mobile elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"9afaf7e\" data-element_type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\r\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\r\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-c45610d\" data-id=\"c45610d\" data-element_type=\"column\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\r\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\r\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-00934cb elementor-widget elementor-widget-heading\" data-id=\"00934cb\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t<h6 class=\"elementor-heading-title elementor-size-default\">Get in Touch with our Experts<\/h6>\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-5fc8bb3 elementor-widget elementor-widget-heading\" data-id=\"5fc8bb3\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t<h6 class=\"elementor-heading-title elementor-size-default\">Learn How we Can Help Your Teams Collaborate and Get Things done<\/h6>\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-144b829 buttonright\" data-id=\"144b829\" data-element_type=\"column\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\r\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\r\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-09d46a8 elementor-align-right elementor-widget elementor-widget-button\" data-id=\"09d46a8\" data-element_type=\"widget\" data-widget_type=\"button.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t<div class=\"elementor-button-wrapper\">\r\n\t\t\t<a href=\"https:\/\/www.exoplatform.com\/contact-us\/?utm_source=BlogEn&#038;utm_medium=Blog&#038;utm_campaign=Content&#038;utm_content=cta\" class=\"elementor-button-link elementor-button elementor-size-md\" role=\"button\">\r\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\r\n\t\t\t\t\t\t<span class=\"elementor-button-text\">Contact us<\/span>\r\n\t\t<\/span>\r\n\t\t\t\t\t<\/a>\r\n\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t\t\t\t<\/div>\r\n\t\t<\/section>\r\n\t\t\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t\t\t\t<\/div>\r\n\t\t<\/section>\r\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-3f62335 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"3f62335\" data-element_type=\"section\">\r\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\r\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-9e02369\" data-id=\"9e02369\" data-element_type=\"column\">\r\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\r\n\t\t\t\t\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-68d4ab9 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"68d4ab9\" data-element_type=\"section\">\r\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\r\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-096bcff\" data-id=\"096bcff\" data-element_type=\"column\">\r\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\r\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-5880167 elementor-align-left tags_class_element elementor-widget elementor-widget-post-info\" data-id=\"5880167\" data-element_type=\"widget\" data-widget_type=\"post-info.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t<ul class=\"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-4f61546\" itemprop=\"about\">\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-tags\"><\/i>\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-terms\">\n\t\t\t\t\t\t\t<span class=\"elementor-post-info__item-prefix\">Tags:<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-post-info__terms-list\">\n\t\t\t\t<a href=\"https:\/\/www.exoplatform.com\/blog\/exo\/\" class=\"elementor-post-info__terms-list-item\">eXo<\/a>, <a href=\"https:\/\/www.exoplatform.com\/blog\/tutorial\/\" class=\"elementor-post-info__terms-list-item\">Tutorial<\/a>\t\t\t\t<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t<li class=\"elementor-icon-list-item elementor-repeater-item-105f90f\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text elementor-post-info__item elementor-post-info__item--type-custom\">\n\t\t\t\t\t\t\t\t\t\t&nbsp;\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t<\/ul>\n\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-ffae835\" data-id=\"ffae835\" data-element_type=\"column\">\r\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\r\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-66adc78 elementor-widget elementor-widget-shortcode\" data-id=\"66adc78\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t<div class=\"elementor-shortcode\">\n\n<div class=\"kk-star-ratings kksr-shortcode\"\n    data-payload='{&quot;id&quot;:&quot;6194&quot;,&quot;slug&quot;:&quot;default&quot;,&quot;ignore&quot;:&quot;&quot;,&quot;reference&quot;:&quot;shortcode&quot;,&quot;align&quot;:&quot;&quot;,&quot;class&quot;:&quot;&quot;,&quot;count&quot;:&quot;1&quot;,&quot;legendonly&quot;:&quot;&quot;,&quot;readonly&quot;:&quot;&quot;,&quot;score&quot;:&quot;5&quot;,&quot;starsonly&quot;:&quot;&quot;,&quot;valign&quot;:&quot;&quot;,&quot;best&quot;:&quot;5&quot;,&quot;gap&quot;:&quot;5&quot;,&quot;greet&quot;:&quot;Rate this post&quot;,&quot;legend&quot;:&quot;5\\\/5 - (1 vote)&quot;,&quot;size&quot;:&quot;24&quot;,&quot;width&quot;:&quot;142.5&quot;,&quot;_legend&quot;:&quot;{score}\\\/{best} - ({count} {votes})&quot;,&quot;font_factor&quot;:&quot;1.25&quot;}'>\n            \n<div class=\"kksr-stars\">\n    \n<div class=\"kksr-stars-inactive\">\n            <div class=\"kksr-star\" data-star=\"1\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"2\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"3\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"4\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"5\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n    <\/div>\n    \n<div class=\"kksr-stars-active\" style=\"width: 142.5px;\">\n            <div class=\"kksr-star\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 5px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 24px; height: 24px;\"><\/div>\n        <\/div>\n    <\/div>\n<\/div>\n                \n\n<div class=\"kksr-legend\" style=\"font-size: 19.2px;\">\n            5\/5 - (1 vote)    <\/div>\n    <\/div>\n<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t\t\t\t<\/div>\r\n\t\t<\/section>\r\n\t\t\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t\t\t\t<\/div>\r\n\t\t<\/section>\r\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-801b6c9 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"801b6c9\" data-element_type=\"section\" id=\"end-tet\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\r\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\r\n\t\t\t\t\t<div class=\"elementor-column elementor-col-33 elementor-top-column elementor-element elementor-element-e106d79\" data-id=\"e106d79\" data-element_type=\"column\">\r\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\r\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-5bab5c7 elementor-widget__width-inherit elementor-widget elementor-widget-testimonial\" data-id=\"5bab5c7\" data-element_type=\"widget\" data-widget_type=\"testimonial.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t<style>\/*! elementor - v3.13.2 - 11-05-2023 *\/\r\n.elementor-testimonial-wrapper{overflow:hidden;text-align:center}.elementor-testimonial-wrapper .elementor-testimonial-content{font-size:1.3em;margin-bottom:20px}.elementor-testimonial-wrapper .elementor-testimonial-name{line-height:1.5;display:block}.elementor-testimonial-wrapper .elementor-testimonial-job{font-size:.85em;display:block}.elementor-testimonial-wrapper .elementor-testimonial-meta{width:100%;line-height:1}.elementor-testimonial-wrapper .elementor-testimonial-meta-inner{display:inline-block}.elementor-testimonial-wrapper .elementor-testimonial-meta .elementor-testimonial-details,.elementor-testimonial-wrapper .elementor-testimonial-meta .elementor-testimonial-image{display:table-cell;vertical-align:middle}.elementor-testimonial-wrapper .elementor-testimonial-meta .elementor-testimonial-image img{width:60px;height:60px;border-radius:50%;-o-object-fit:cover;object-fit:cover;max-width:none}.elementor-testimonial-wrapper .elementor-testimonial-meta.elementor-testimonial-image-position-aside .elementor-testimonial-image{padding-right:15px}.elementor-testimonial-wrapper .elementor-testimonial-meta.elementor-testimonial-image-position-aside .elementor-testimonial-details{text-align:left}.elementor-testimonial-wrapper .elementor-testimonial-meta.elementor-testimonial-image-position-top .elementor-testimonial-details,.elementor-testimonial-wrapper .elementor-testimonial-meta.elementor-testimonial-image-position-top .elementor-testimonial-image{display:block}.elementor-testimonial-wrapper .elementor-testimonial-meta.elementor-testimonial-image-position-top .elementor-testimonial-image{margin-bottom:20px}<\/style>\t\t<div class=\"elementor-testimonial-wrapper\">\r\n\t\t\t\r\n\t\t\t\t\t\t<div class=\"elementor-testimonial-meta elementor-has-image elementor-testimonial-image-position-top\">\r\n\t\t\t\t<div class=\"elementor-testimonial-meta-inner\">\r\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-testimonial-image\">\r\n\t\t\t\t\t\t\t<a href=\"https:\/\/www.exoplatform.com\/blog\/author\/anhvt\/\" target=\"_blank\"><img decoding=\"async\" src=\"https:\/\/secure.gravatar.com\/avatar\/7ee557f2430ff3031feed2b6008d0449?s=96&amp;d=mm&amp;r=g\" title=\"\" alt=\"\" loading=\"lazy\" \/><\/a>\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-testimonial-details\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-testimonial-name\" href=\"https:\/\/www.exoplatform.com\/blog\/author\/anhvt\/\" target=\"_blank\">Tuan Anh Vu<\/a>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-column elementor-col-66 elementor-top-column elementor-element elementor-element-82943e7\" data-id=\"82943e7\" data-element_type=\"column\">\r\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\r\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-ac6c58e elementor-widget elementor-widget-testimonial\" data-id=\"ac6c58e\" data-element_type=\"widget\" data-widget_type=\"testimonial.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t<div class=\"elementor-testimonial-wrapper\">\r\n\t\t\t\t\t\t\t<div class=\"elementor-testimonial-content\">\n  <figcaption>\n  <\/figcaption>\n<\/div>\r\n\t\t\t\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t\t\t\t<\/div>\r\n\t\t<\/section>\r\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-5269e88 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"5269e88\" data-element_type=\"section\">\r\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\r\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-9167e8f\" data-id=\"9167e8f\" data-element_type=\"column\">\r\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\r\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-1bc7e5b faq-id elementor-widget elementor-widget-heading\" data-id=\"1bc7e5b\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t<h6 class=\"elementor-heading-title elementor-size-default\">Related posts<\/h6>\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-fdf9f6e emp-cat elementor-widget elementor-widget-shortcode\" data-id=\"fdf9f6e\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t<div class=\"elementor-shortcode\">\n\t<div class=\"am_ajax_post_grid_wrap\"  style=\"background-color: transparent !important; \" data-pagination_type=\"load_more\" data-am_ajax_post_grid='{\"show_filter\":\"yes\",\"btn_all\":\"yes\",\"initial\":\"-1\",\"layout\":\"1\",\"post_type\":\"post\",\"posts_per_page\":\"3\",\"cat\":\"\",\"terms\":\"\",\"paginate\":\"no\",\"hide_empty\":\"true\",\"orderby\":\"date\",\"order\":\"ASC\",\"pagination_type\":\"load_more\",\"infinite_scroll\":\"\",\"animation\":\"\",\"grid_id\":\"\"}'>\r\n\r\n\t\t\t\t\t<div class=\"asr-filter-div\" data-layout=\"1\"><ul>\r\n\t\t\t\t\t\t\t\t\t<li \r\n\r\n\r\n\r\n \r\n   class=\"asr_texonomy active\" style=\"font-weight:bold;\"data_id=\"-1\" style=\"background-color: transparent !important;\">All<\/li>\r\n\t\t\t\t\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1302\">eXo<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"508\">eXo<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"642\">eXo<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1407\">Anerkennung der Mitarbeiter<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"454\">Digital workplace<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"500\">Digital workplace<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1337\">Arbeitsplatz<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"462\">Employee engagement<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"616\">Engagement collaborateur<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1465\">Branchentrends<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"486\">Open source<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"506\">Open source<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"620\">Avenir du travail<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1411\">Cartoon<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"504\">Future of work<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1137\">Actualit\u00e9s<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1366\">Change Management<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"460\">Internal communication<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"492\">Collaboration<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"458\">Collaboration<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1287\">Digital Workplace<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1323\">Digitale Transformation<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"496\">Exp\u00e9rience collaborateur<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"705\">News<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"452\">intranet<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1135\">intranet<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"494\">Communication interne<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1311\">Infografik<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"409\">workplace<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1294\">interne Kommunikation<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"456\">Knowledge management<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"618\">onboarding<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"512\">Employee experience<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"490\">Gestion des connaissances<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1281\">intranet<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"502\">Conduite de changement<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"514\">Employee productivity<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1329\">Kollaboration<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1451\">Leadership<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1187\">Leadership<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"614\">onboarding<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1183\">Cartoon<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"518\">Employee recognition<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1331\">Leitfaden<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1181\">Astuces et bonnes pratiques<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"516\">Change management<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1292\">Mitarbeiter engagement<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"813\">Cartoon<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"411\">Etudes de cas<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1339\">Mitarbeiter Erfahrung<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"622\">Digital transformation<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1175\">Guide<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1317\">Nachrichten<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"799\">Infographic<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1185\">Infographie<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1403\">Onboarding<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1300\">Open source<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"510\">Remote work<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"498\">Productivit\u00e9<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1173\">T\u00e9l\u00e9travail<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"488\">Transformation digitale<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1179\">Tutoriel<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1443\">Actualit\u00e9s produit<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1562\">Extranet<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1461\">Industry trends<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1445\">Product News<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1447\">Produkt Nachrichten<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1309\">Produktivit\u00e4t<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1405\">Reconnaissance des employ\u00e9s<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1307\">Telearbeit<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1463\">Tendances<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1449\">Thought leadership<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1345\">Tipps und Tricks<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"780\">Tips &amp; Tricks<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"819\">Tutorial<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1269\">Uncategorized<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"699\">Uncategorized<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1378\">Wissensmanagement<\/li>\r\n\t\t        \t\t            <li class=\"asr_texonomy\" data_id=\"1304\">Zukunft der Arbeit<\/li>\r\n\t\t        \t        <\/ul><\/div>\r\n\t    \r\n\t    <div class=\"asr-ajax-container\" style=\"background-color: transparent !important;\">\r\n\t\t    <div class=\"asr-loader\">\r\n\t\t    \t<div class=\"lds-dual-ring\"><\/div>\r\n\t\t    <\/div>\r\n\t\t    <div class=\"asrafp-filter-result\">\r\n\t\t    \t<div class=\"am-postgrid-wrapper\">\r\n\r\n\t\t<div class=\"am_post_grid am__col-3 am_layout_1  \">\r\n\t\t\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"am_grid_col\">\r\n\t\t\t\t<div class=\"am_single_grid\">\r\n\t\t\t\t\t<div class=\"am_thumb\">\r\n\t\t\t\t\t<a href=\"https:\/\/www.exoplatform.com\/blog\/manage-projects-within-exo-platfom\/\">\r\n\t\t\t\t\t\t<img width=\"800\" height=\"533\" src=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2021\/09\/800x533-1.jpeg\" class=\"attachment-full size-full wp-post-image\" alt=\"\" decoding=\"async\" loading=\"lazy\" srcset=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2021\/09\/800x533-1.jpeg 800w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2021\/09\/800x533-1-300x200.jpeg 300w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2021\/09\/800x533-1-768x512.jpeg 768w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2021\/09\/800x533-1-710x473.jpeg 710w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2021\/09\/800x533-1-492x328.jpeg 492w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2021\/09\/800x533-1-354x236.jpeg 354w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2021\/09\/800x533-1-197x131.jpeg 197w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2021\/09\/800x533-1-100x67.jpeg 100w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2021\/09\/800x533-1-45x30.jpeg 45w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\t\t\t\t\t<\/a>\t\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t\t<div class=\"am_cont\">\r\n\t\t\t\t\t\t<a href=\"https:\/\/www.exoplatform.com\/blog\/manage-projects-within-exo-platfom\/\"><h2 class=\"am__title\">Manage projects within eXo Platfom<\/h2><\/a>\r\n\t\t\t\t\t\t<div class=\"am__excerpt\">\r\n\t\t\t\t\t\t<a href=\"https:\/\/www.exoplatform.com\/blog\/manage-projects-within-exo-platfom\/\">Manage projects within eXo Platfom Project management has always been a vital\u2026<\/a>\r\n\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t<a href=\"https:\/\/www.exoplatform.com\/blog\/manage-projects-within-exo-platfom\/\" class=\"am__readmore\">Read More<\/a>\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t\t<div class=\"post_tags\"><a href=\"https:\/\/www.exoplatform.com\/blog\/tutorial\/\" title=\"Tutorial Tag\" class=\"tutorial\">Tutorial<\/a> <\/div>\t\t\t\t\t<div class=\"am_time\">\r\n\t\t\t\t\t\t<span class=\"bsf-rt-reading-time\"><span class=\"bsf-rt-display-label\" prefix=\"Reading Time\">\n\t\t<\/span> <span class=\"bsf-rt-display-time\" reading_time=\"7\"><\/span> \n\t\t<span class=\"bsf-rt-display-postfix\" postfix=\"min\"><\/span><\/span> \r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t<\/div>\r\n\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"am_grid_col\">\r\n\t\t\t\t<div class=\"am_single_grid\">\r\n\t\t\t\t\t<div class=\"am_thumb\">\r\n\t\t\t\t\t<a href=\"https:\/\/www.exoplatform.com\/blog\/guide-to-integrate-linkedin-2-0-connect-with-the-exo-platform-sign-in-mechanism\/\">\r\n\t\t\t\t\t\t<img width=\"768\" height=\"512\" src=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2021\/03\/linkedin-800x533-768x512-1.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"\" decoding=\"async\" loading=\"lazy\" srcset=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2021\/03\/linkedin-800x533-768x512-1.jpg 768w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2021\/03\/linkedin-800x533-768x512-1-300x200.jpg 300w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2021\/03\/linkedin-800x533-768x512-1-710x473.jpg 710w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2021\/03\/linkedin-800x533-768x512-1-492x328.jpg 492w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2021\/03\/linkedin-800x533-768x512-1-354x236.jpg 354w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2021\/03\/linkedin-800x533-768x512-1-197x131.jpg 197w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2021\/03\/linkedin-800x533-768x512-1-100x67.jpg 100w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2021\/03\/linkedin-800x533-768x512-1-45x30.jpg 45w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2021\/03\/linkedin-800x533-768x512-1-640x427.jpg 640w\" sizes=\"(max-width: 768px) 100vw, 768px\" \/>\t\t\t\t\t<\/a>\t\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t\t<div class=\"am_cont\">\r\n\t\t\t\t\t\t<a href=\"https:\/\/www.exoplatform.com\/blog\/guide-to-integrate-linkedin-2-0-connect-with-the-exo-platform-sign-in-mechanism\/\"><h2 class=\"am__title\">Guide to Integrate LinkedIn 2.0 Connect with the eXo Platform Sign-In Mechanism<\/h2><\/a>\r\n\t\t\t\t\t\t<div class=\"am__excerpt\">\r\n\t\t\t\t\t\t<a href=\"https:\/\/www.exoplatform.com\/blog\/guide-to-integrate-linkedin-2-0-connect-with-the-exo-platform-sign-in-mechanism\/\">Guide to Integrate LinkedIn 2.0 Connect with the eXo Platform Sign-In Mechanism\u2026<\/a>\r\n\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t<a href=\"https:\/\/www.exoplatform.com\/blog\/guide-to-integrate-linkedin-2-0-connect-with-the-exo-platform-sign-in-mechanism\/\" class=\"am__readmore\">Read More<\/a>\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t\t<div class=\"post_tags\"><a href=\"https:\/\/www.exoplatform.com\/blog\/exo\/\" title=\"eXo Tag\" class=\"exo\">eXo<\/a> <\/div>\t\t\t\t\t<div class=\"am_time\">\r\n\t\t\t\t\t\t<span class=\"bsf-rt-reading-time\"><span class=\"bsf-rt-display-label\" prefix=\"Reading Time\">\n\t\t<\/span> <span class=\"bsf-rt-display-time\" reading_time=\"5\"><\/span> \n\t\t<span class=\"bsf-rt-display-postfix\" postfix=\"min\"><\/span><\/span> \r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t<\/div>\r\n\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"am_grid_col\">\r\n\t\t\t\t<div class=\"am_single_grid\">\r\n\t\t\t\t\t<div class=\"am_thumb\">\r\n\t\t\t\t\t<a href=\"https:\/\/www.exoplatform.com\/blog\/30-digital-collaboration-terms-that-you-should-know-about\/\">\r\n\t\t\t\t\t\t<img width=\"800\" height=\"533\" src=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2020\/03\/30-digital-collaboration-terms.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"digital collaboration terms\" decoding=\"async\" loading=\"lazy\" srcset=\"https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2020\/03\/30-digital-collaboration-terms.jpg 800w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2020\/03\/30-digital-collaboration-terms-300x200.jpg 300w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2020\/03\/30-digital-collaboration-terms-768x512.jpg 768w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2020\/03\/30-digital-collaboration-terms-710x473.jpg 710w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2020\/03\/30-digital-collaboration-terms-492x328.jpg 492w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2020\/03\/30-digital-collaboration-terms-354x236.jpg 354w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2020\/03\/30-digital-collaboration-terms-197x131.jpg 197w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2020\/03\/30-digital-collaboration-terms-100x67.jpg 100w, https:\/\/www.exoplatform.com\/blog\/wp-content\/uploads\/2020\/03\/30-digital-collaboration-terms-45x30.jpg 45w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\t\t\t\t\t<\/a>\t\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t\t<div class=\"am_cont\">\r\n\t\t\t\t\t\t<a href=\"https:\/\/www.exoplatform.com\/blog\/30-digital-collaboration-terms-that-you-should-know-about\/\"><h2 class=\"am__title\">30 digital collaboration terms that you should know about<\/h2><\/a>\r\n\t\t\t\t\t\t<div class=\"am__excerpt\">\r\n\t\t\t\t\t\t<a href=\"https:\/\/www.exoplatform.com\/blog\/30-digital-collaboration-terms-that-you-should-know-about\/\">30 digital collaboration terms that you should know about Enterprise software has\u2026<\/a>\r\n\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t<a href=\"https:\/\/www.exoplatform.com\/blog\/30-digital-collaboration-terms-that-you-should-know-about\/\" class=\"am__readmore\">Read More<\/a>\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t\t<div class=\"post_tags\"><a href=\"https:\/\/www.exoplatform.com\/blog\/digital-workplace-en\/\" title=\"Digital workplace Tag\" class=\"digital-workplace-en\">Digital workplace<\/a> <\/div>\t\t\t\t\t<div class=\"am_time\">\r\n\t\t\t\t\t\t<span class=\"bsf-rt-reading-time\"><span class=\"bsf-rt-display-label\" prefix=\"Reading Time\">\n\t\t<\/span> <span class=\"bsf-rt-display-time\" reading_time=\"8\"><\/span> \n\t\t<span class=\"bsf-rt-display-postfix\" postfix=\"min\"><\/span><\/span> \r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t<\/div>\r\n\t\t\t\r\n\t\t\t\t<\/div>\r\n\r\n\t\t<div class=\"am_posts_navigation\">\r\n\t\t<button type='button' data-paged='1' data-next='2' class=' am-post-grid-load-more '>Voir Plus<\/button>\t\t<\/div>\r\n\r\n\t\t<\/div>\t\t    <\/div>\r\n\t    <\/div>\r\n    <\/div>\r\n\r\n\t\n\n\n\n\t\t\t\n\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t\t\t\t<\/div>\r\n\t\t<\/section>\r\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-570f777 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"570f777\" data-element_type=\"section\">\r\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\r\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-7747a46\" data-id=\"7747a46\" data-element_type=\"column\">\r\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\r\n\t\t\t\t\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-9c6f7b7 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"9c6f7b7\" data-element_type=\"section\">\r\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\r\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-e492dc1\" data-id=\"e492dc1\" data-element_type=\"column\">\r\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\r\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-4484067 elementor-widget elementor-widget-heading\" data-id=\"4484067\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t<h6 class=\"elementor-heading-title elementor-size-default\">Leave a Reply<\/h6>\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-b4f4fe2\" data-id=\"b4f4fe2\" data-element_type=\"column\">\r\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\r\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-3f93279 elementor-widget elementor-widget-text-editor\" data-id=\"3f93279\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t\t\t<p>( Your e-mail address will not be published)<\/p>\t\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t\t\t\t<\/div>\r\n\t\t<\/section>\r\n\t\t\t\t<div class=\"elementor-element elementor-element-757769f elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"757769f\" data-element_type=\"widget\" data-widget_type=\"divider.default\">\r\n\t\t\t\t<div class=\"elementor-widget-container\">\r\n\t\t\t\t\t<div class=\"elementor-divider\">\r\n\t\t\t<span class=\"elementor-divider-separator\">\r\n\t\t\t\t\t\t<\/span>\r\n\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t\t\t\t\t\t<\/div>\r\n\t\t<\/section>\r\n\t\t\t\t\t\t\t<\/div>\r\n\t\t","protected":false},"excerpt":{"rendered":"Step-by-Step Guide to Integrate LinkedIn Connect with the eXo Platform Sign-In Mechanism A few weeks ago, we implemented a new way to connect to the eXo Community website, which runs on eXo Platform 4, using third-party authentication systems, namely LinkedIn, Facebook, and Google+. We excluded Twitter, as its system doesn&#8217;t enable developers to retrieve an [&hellip;]","protected":false},"author":91,"featured_media":41123,"comment_status":"open","ping_status":"open","sticky":false,"template":"main1-article.php","format":"standard","meta":[],"categories":[819,508],"tags":[606,536,528],"lang":"en","translations":{"en":6194},"pll_sync_post":[],"_links":{"self":[{"href":"https:\/\/www.exoplatform.com\/blog\/wp-json\/wp\/v2\/posts\/6194"}],"collection":[{"href":"https:\/\/www.exoplatform.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.exoplatform.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.exoplatform.com\/blog\/wp-json\/wp\/v2\/users\/91"}],"replies":[{"embeddable":true,"href":"https:\/\/www.exoplatform.com\/blog\/wp-json\/wp\/v2\/comments?post=6194"}],"version-history":[{"count":0,"href":"https:\/\/www.exoplatform.com\/blog\/wp-json\/wp\/v2\/posts\/6194\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.exoplatform.com\/blog\/wp-json\/wp\/v2\/media\/41123"}],"wp:attachment":[{"href":"https:\/\/www.exoplatform.com\/blog\/wp-json\/wp\/v2\/media?parent=6194"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.exoplatform.com\/blog\/wp-json\/wp\/v2\/categories?post=6194"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.exoplatform.com\/blog\/wp-json\/wp\/v2\/tags?post=6194"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}