{"version":"1.0","provider_name":"OData","provider_url":"https:\/\/devblogs.microsoft.com\/odata","author_name":"DB Blogs","author_url":"https:\/\/devblogs.microsoft.com\/odata\/author\/dpblogs\/","title":"OData and Authentication \u2013 Part 5 \u2013 Custom HttpModules - OData","type":"rich","width":600,"height":338,"html":"<blockquote class=\"wp-embedded-content\" data-secret=\"xMd3N0dJ5C\"><a href=\"https:\/\/devblogs.microsoft.com\/odata\/odata-and-authentication-part-5-custom-httpmodules\/\">OData and Authentication \u2013 Part 5 \u2013 Custom HttpModules<\/a><\/blockquote><iframe sandbox=\"allow-scripts\" security=\"restricted\" src=\"https:\/\/devblogs.microsoft.com\/odata\/odata-and-authentication-part-5-custom-httpmodules\/embed\/#?secret=xMd3N0dJ5C\" width=\"600\" height=\"338\" title=\"&#8220;OData and Authentication \u2013 Part 5 \u2013 Custom HttpModules&#8221; &#8212; OData\" data-secret=\"xMd3N0dJ5C\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" class=\"wp-embedded-content\"><\/iframe><script type=\"text\/javascript\">\n\/* <![CDATA[ *\/\n\/*! This file is auto-generated *\/\n!function(d,l){\"use strict\";l.querySelector&&d.addEventListener&&\"undefined\"!=typeof URL&&(d.wp=d.wp||{},d.wp.receiveEmbedMessage||(d.wp.receiveEmbedMessage=function(e){var t=e.data;if((t||t.secret||t.message||t.value)&&!\/[^a-zA-Z0-9]\/.test(t.secret)){for(var s,r,n,a=l.querySelectorAll('iframe[data-secret=\"'+t.secret+'\"]'),o=l.querySelectorAll('blockquote[data-secret=\"'+t.secret+'\"]'),c=new RegExp(\"^https?:$\",\"i\"),i=0;i<o.length;i++)o[i].style.display=\"none\";for(i=0;i<a.length;i++)s=a[i],e.source===s.contentWindow&&(s.removeAttribute(\"style\"),\"height\"===t.message?(1e3<(r=parseInt(t.value,10))?r=1e3:~~r<200&&(r=200),s.height=r):\"link\"===t.message&&(r=new URL(s.getAttribute(\"src\")),n=new URL(t.value),c.test(n.protocol))&&n.host===r.host&&l.activeElement===s&&(d.top.location.href=t.value))}},d.addEventListener(\"message\",d.wp.receiveEmbedMessage,!1),l.addEventListener(\"DOMContentLoaded\",function(){for(var e,t,s=l.querySelectorAll(\"iframe.wp-embedded-content\"),r=0;r<s.length;r++)(t=(e=s[r]).getAttribute(\"data-secret\"))||(t=Math.random().toString(36).substring(2,12),e.src+=\"#?secret=\"+t,e.setAttribute(\"data-secret\",t)),e.contentWindow.postMessage({message:\"ready\",secret:t},\"*\")},!1)))}(window,document);\n\/\/# sourceURL=https:\/\/devblogs.microsoft.com\/odata\/wp-includes\/js\/wp-embed.min.js\n\/* ]]> *\/\n<\/script>\n","thumbnail_url":"https:\/\/devblogs.microsoft.com\/odata\/wp-content\/uploads\/sites\/23\/2019\/02\/ODataLogo-150.png","thumbnail_width":151,"thumbnail_height":150,"description":"In the last post we saw how to add custom authentication inside your Data Service using the ProcessingRequest event. Unfortunately that approach means authentication is not integrated or shared with the rest of your website. Which means for all but the simplest scenarios a better approach is needed: HttpModules. HttpModules can do all sort of [&hellip;]"}