{"id":1350,"date":"2023-11-16T13:26:24","date_gmt":"2023-11-16T21:26:24","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/identity\/?p=1350"},"modified":"2024-02-20T09:22:35","modified_gmt":"2024-02-20T17:22:35","slug":"custom-authentication-extensions","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/identity\/custom-authentication-extensions\/","title":{"rendered":"Adding flexibility to authentication with Microsoft Entra External ID custom extensions"},"content":{"rendered":"<p>As the much-anticipated, <a href=\"https:\/\/ignite.microsoft.com\/en-US\/home\">Microsoft Ignite<\/a> conference edges (no pun intended) closer to the final <em>(in-person only)<\/em> day tomorrow, we hope you&#8217;ve been enjoying the interesting sessions and come away feeling energized!<\/p>\n<p>Now, we\u2019re excited to announce the public preview of a new set of extension points that enable you to add your own logic to Microsoft Entra External ID.<\/p>\n<p>In this blog post, we explore the power of <a href=\"https:\/\/learn.microsoft.com\/en-us\/entra\/identity-platform\/custom-extension-overview\">Custom Authentication Extensions<\/a> and touch on how to use them.<\/p>\n<p>Microsoft Entra External ID is designed with flexibility in mind and this new release allows you to further tailor your authentication journeys to your bespoke needs. Let\u2019s dive in.<\/p>\n<h2>Building authentication your way<\/h2>\n<p>At <a href=\"https:\/\/build.microsoft.com\/en-US\/home\">Microsoft Build 2023<\/a>, we introduced the concept of custom authentication extensions as an innovative feature of the newly launched Microsoft Entra External ID product offering. <a href=\"https:\/\/developer.microsoft.com\/en-us\/identity\/customers\">Microsoft Entra External ID<\/a> is a unified platform that brings together the enterprise-grade controls of Microsoft Entra ID (formerly Azure AD) and the flexibility, customizability, and improved UX of Azure AD B2C.<\/p>\n<p>ICYMI, here\u2019s the recording of the <strong>Build 2023<\/strong> session on Microsoft Entra External ID where we show you how to use custom extensions.<\/p>\n<p><center>\n  <div style=\"width: 640px;\" class=\"wp-video\"><video class=\"wp-video-shortcode\" id=\"video-1350-1\" width=\"640\" height=\"360\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/youtube\" src=\"https:\/\/www.youtube.com\/watch?v=bX2Zu-82BFA&#038;_=1\" \/><a href=\"https:\/\/www.youtube.com\/watch?v=bX2Zu-82BFA\">https:\/\/www.youtube.com\/watch?v=bX2Zu-82BFA<\/a><\/video><\/div>\n<\/center><\/p>\n<p>Custom authentication extensions allow you to build authentication experiences that are secure and adaptable to your specific business logic. In addition to the built-in authentication events within a sign-up and sign-in user flow, custom authentication extensions can be added at specific points within the authentication flow. They allow you to incorporate your own code and logic into how authentication flows work.<\/p>\n<p>Custom extensions operate on an event-based model. During the authentication flow, there are certain points where we can add a hook. At these points, you have the ability to make a call out to an external API endpoint to modify the authentication flow.<\/p>\n<p>In this release, we are adding new points to add hooks <strong>during sign-up<\/strong>, at the beginning of the attribute collection step, and after the user enters and submits attributes. See screenshot below.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/identity\/wp-content\/uploads\/sites\/74\/2023\/11\/authentication-flow-events-expanded.png\" alt=\"custom authentication extensions flow diagram\" \/><\/p>\n<p>These new custom extension points are being added in addition to the <strong>token issuance<\/strong> custom extensions, announced at Build 2023\u2014which trigger just before a token is issued to the application\u2014and the existing pre-defined, built-in authentication configurations within a sign-up and sign-in user flow.<\/p>\n<h2>New extension events for enhanced customization<\/h2>\n<p>This latest update introduces an array of new extension events designed to provide you with an extensive level of control over user registration and authentication, ensuring a smooth and secure experience for end users. Here&#8217;s a closer look at what&#8217;s now possible:<\/p>\n<ol>\n<li><strong>Prefilling attributes:<\/strong> Simplify your user&#8217;s sign-up experience by prefilling attributes based on existing information, reducing the time and effort needed to complete registration forms.<\/li>\n<li><strong>Validating attributes in real-time:<\/strong> Enhance data accuracy with real-time validation of user inputs. This feature ensures that the information collected meets your specific criteria, right at the point of entry.<\/li>\n<li><strong>Dynamic attribute updating:<\/strong> Adapt to changing user information seamlessly. Our new functionality allows for the immediate updating of user attributes during the sign-up process, ensuring that your records are always current.<\/li>\n<li><strong>Selective sign-up blocking:<\/strong> Implement enhanced security measures by having the option to block sign-ups based on predetermined criteria. This is crucial for maintaining the integrity of your user base and preventing fraudulent activities.<\/li>\n<\/ol>\n<p>To see how to implement these scenarios, check out this <a href=\"https:\/\/learn.microsoft.com\/en-us\/entra\/identity-platform\/custom-extension-attribute-collection?tabs=start-continue%2Csubmit-continue\">tutorial<\/a> with code samples and implementation guidance.<\/p>\n<h2>The journey to General Availability (GA)<\/h2>\n<p>As we work towards the General Availability release of Microsoft Entra External ID, we continue our ongoing commitment to innovation and improvement. We are continuously working on expanding our offerings, with a focus on delivering solutions that meet and exceed your expectations.<\/p>\n<h2>Calling all developers and tech vendors<\/h2>\n<p>We are particularly excited about the potential of these updates and encourage developers and technology vendors to get familiar with them and try them out.<\/p>\n<p>Visit our docs to learn how to <a href=\"https:\/\/learn.microsoft.com\/en-us\/entra\/identity-platform\/custom-extension-attribute-collection?tabs=start-continue%2Csubmit-continue\">configure custom authentication extensions<\/a> for attribute collection and submit events. You can also <a href=\"https:\/\/learn.microsoft.com\/en-us\/entra\/identity-platform\/custom-claims-provider-overview\">learn more about custom claims providers<\/a> and learn how to <a href=\"https:\/\/learn.microsoft.com\/en-us\/entra\/identity-platform\/custom-extension-get-started?tabs=entra-admin-center%2Chttp\">configure a custom claims provider token issuance event<\/a>. This event is triggered right before the token is issued and allows you to call a REST API to add claims to the token.<\/p>\n<p>Your feedback is invaluable to us\u2014it helps in refining these extensions and identifying any additional functionalities that could be beneficial. We\u2019re eager to hear about your experiences, the challenges you face, and the solutions you seek.<\/p>\n<h2>Let\u2019s stay connected<\/h2>\n<p>To learn more or test out features of the Microsoft Entra suite of solutions, visit our <a href=\"https:\/\/developer.microsoft.com\/en-us\/identity\/\">developer center<\/a>. Sign up for email updates on the <a href=\"https:\/\/devblogs.microsoft.com\/identity\/\">Identity blog<\/a> to keep up with all things Identity. And, follow us on <a href=\"https:\/\/www.youtube.com\/@MicrosoftSecurity\/playlists\">YouTube<\/a> for video overviews, tutorials, and deep dives.<\/p>\n<p>Stay tuned for more updates on Microsoft Entra External ID and additional custom authentication extensions. The future of authentication is here, and it&#8217;s more flexible and tailored than ever before.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>As the Microsoft Ignite conference gets underway, we announce the public preview of a new set of custom extension points for Microsoft Entra External ID.<\/p>\n","protected":false},"author":123707,"featured_media":987,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[33],"tags":[38,17,16,47,50],"class_list":["post-1350","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-product-updates","tag-authentication","tag-customer-identity","tag-entra","tag-external-id","tag-identity"],"acf":[],"blog_post_summary":"<p>As the Microsoft Ignite conference gets underway, we announce the public preview of a new set of custom extension points for Microsoft Entra External ID.<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/identity\/wp-json\/wp\/v2\/posts\/1350","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/identity\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/identity\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/identity\/wp-json\/wp\/v2\/users\/123707"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/identity\/wp-json\/wp\/v2\/comments?post=1350"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/identity\/wp-json\/wp\/v2\/posts\/1350\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/identity\/wp-json\/wp\/v2\/media\/987"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/identity\/wp-json\/wp\/v2\/media?parent=1350"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/identity\/wp-json\/wp\/v2\/categories?post=1350"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/identity\/wp-json\/wp\/v2\/tags?post=1350"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}