{"id":3215,"date":"2015-03-04T08:00:50","date_gmt":"2015-03-04T16:00:50","guid":{"rendered":"http:\/\/www.cloudidentity.com\/blog\/?p=3215"},"modified":"2015-03-04T08:33:22","modified_gmt":"2015-03-04T16:33:22","slug":"adal-v3-preview-march-refresh","status":"publish","type":"post","link":"https:\/\/www.cloudidentity.com\/blog\/2015\/03\/04\/adal-v3-preview-march-refresh\/","title":{"rendered":"ADAL v3 Preview &#8211; March Refresh"},"content":{"rendered":"<p><a href=\"https:\/\/www.cloudidentity.com\/blog\/wp-content\/uploads\/2015\/03\/image.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border-width: 0px;\" title=\"image\" src=\"https:\/\/www.cloudidentity.com\/blog\/wp-content\/uploads\/2015\/03\/image_thumb.png\" alt=\"image\" width=\"633\" height=\"208\" border=\"0\" \/><\/a><\/p>\n<p>It\u2019s time for <a href=\"https:\/\/www.nuget.org\/packages\/Microsoft.IdentityModel.Clients.ActiveDirectory\/3.1.203031538-alpha\">a refresh for ADAL .NET v3 preview<\/a>!<br \/>\nThere\u2019s nothing earth-shattering this time around\u2026 if you don\u2019t consider adding a brand new platform earth-shattering, of course <img decoding=\"async\" class=\"wlEmoticon wlEmoticon-winkingsmile\" src=\"https:\/\/www.cloudidentity.com\/blog\/wp-content\/uploads\/2015\/03\/wlEmoticon-winkingsmile.png\" alt=\"Winking smile\" \/><\/p>\n<p>This refresh includes lots of bug fixes and small improvements, as\u00a0 you would expect from a refresh. However as the feature set is still fluid, we did add a couple of more substantial improvement.<\/p>\n<h2><strong>Support for Xamarin Unified API for iOS<\/strong><\/h2>\n<p>In the first preview, ADAL .NET v3\u00a0 supported iOS development via the classic API Xamarin project type, the one associated to MonoTouch10, to be concrete. Those project types are unable to target x64, which is at odd with the new requirements that Apple started enforcing on its app store since February.<br \/>\nWith this refresh, <strong>ADAL moves to the new Xamarin Unified API for iOS<\/strong> &#8211; which does support 64 bits. If you take a peek at the targets in the NuGet package, shown in the screenshot at the beginning of the post, you\u2019ll notice the corresponding new platform target, <strong>Xamarin.iOS10<\/strong>.<\/p>\n<p>Naturally, we (where \u201cwe\u201d==Danny <img decoding=\"async\" class=\"wlEmoticon wlEmoticon-smile\" src=\"https:\/\/www.cloudidentity.com\/blog\/wp-content\/uploads\/2015\/03\/wlEmoticon-smile.png\" alt=\"Smile\" \/>) updated the multi target sample to reflect the new features \u2013 you can find it <a href=\"https:\/\/github.com\/AzureADSamples\/NativeClient-MultiTarget-DotNet\">here<\/a>.<\/p>\n<p>To preempt a question that \u2013 I am sure \u2013 you would have sent me right after having read this section. <strong>This refresh does not work with Xamarin.Forms<\/strong>. We are looking into it \u2013 and if you have feedback please send it our way! \u2013 but we didn\u2019t do work in this refresh to that end.<\/p>\n<h2><strong>ADAL support for .NET Core<\/strong><\/h2>\n<p>My friend Daniel Roth is going to yell at me for not having written this as the first notable news in this refresh <img decoding=\"async\" class=\"wlEmoticon wlEmoticon-smile\" src=\"https:\/\/www.cloudidentity.com\/blog\/wp-content\/uploads\/2015\/03\/wlEmoticon-smile.png\" alt=\"Smile\" \/><\/p>\n<p>Last week I guest-posted on the ASP.NET &amp; Web dev tools team blog, mentioning that we have brand new OWIN middleware for OpenId Connect and OAuth2 bearer token in ASP.NET 5 and .NET core. That covers you for doing Web sign on and token validation in Web API \u2013 but it does not help if you want to consume API.<\/p>\n<p>I am super happy to tell you that from this refresh on <strong>you can experiment with ADAL in your ASP.NET 5 projects <\/strong>and <strong>consume API from Azure, Office 365 and any other API protected by Azure AD<\/strong>.<br \/>\nOnce again, if you unpack the ADAL NuGet you\u2019ll find that we added the new platform target <strong>aspnetcore5<\/strong>, which delivers to your Web app a brand new, confidential client only library for all your mid tier needs.<\/p>\n<p>To demonstrate the new functionality we (where \u201cwe\u201d == still Danny <img decoding=\"async\" class=\"wlEmoticon wlEmoticon-smile\" src=\"https:\/\/www.cloudidentity.com\/blog\/wp-content\/uploads\/2015\/03\/wlEmoticon-smile.png\" alt=\"Smile\" \/>) put together a new sample, <strong><a href=\"https:\/\/github.com\/AzureADSamples\/WebApp-WebAPI-OpenIdConnect-AspNet5\">WebApp-WebAPI-OpenIdConnect-AspNet5<\/a><\/strong>.<br \/>\nThis is the ASP.NET 5.0 counterpart of the classic <a href=\"https:\/\/github.com\/AzureADSamples\/WebApp-WebAPI-OpenIDConnect-DotNet\">WebApp-WebAPI-OpenIDConnect-DotNet<\/a>, which demonstrates how to implement Web sign on AND invoke an AAD-secured API, all via OpenId Connect. It is an incremental refinement of the sample announced last week, <a href=\"https:\/\/github.com\/AzureADSamples\/WebApp-OpenIdConnect-AspNet5\">WebApp-OpenIdConnect-AspNet5<\/a>, which only covered Web sign on sans web API call.<br \/>\nThere isn\u2019t much else to say about the new sample: all the changes are mostly due to the new OWIN pipeline in ASP.NET 5 and the new project templates, you should not have any surprises. If you do, please let us know!<\/p>\n<p>Final note on this. Although we only released this new sample, all the service side scenarios using ADAL should now work: that means client credentials, onbehalfof and the like. Feel free to give it a spin, we are eager to hear from you what works and what doesn\u2019t.<\/p>\n<h2>Still an Alpha<\/h2>\n<p>At the cost of being pedantic, I have to issue the usual warning here: this is still a preview release. We hope it will be enough to help you experimenting with scenarios we believe you\u2019ll find interesting, but as you play with the library you should remember that for the time being 1) it is not fit for production and 2) between now and general availability, the programming model <em>can<\/em> and will change. If you writ code against the current model, please be prepared to revv it once a newer release will come along.<\/p>\n<p>That\u2019s it! I know that those two features were highly sought-after. We hope that this refresh will unblock whatever experiments you were conducting on Xamarin iOS and\/or ASP.NET 5. Please help us to prioritize new work, keep the feedback coming <img decoding=\"async\" class=\"wlEmoticon wlEmoticon-smile\" src=\"https:\/\/www.cloudidentity.com\/blog\/wp-content\/uploads\/2015\/03\/wlEmoticon-smile.png\" alt=\"Smile\" \/> happy coding!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>It\u2019s time for a refresh for ADAL .NET v3 preview! There\u2019s nothing earth-shattering this time around\u2026 if you don\u2019t consider adding a brand new platform earth-shattering, of course This refresh includes lots of bug fixes and small improvements, as\u00a0 you would expect from a refresh. However as the feature set is still fluid,&#8230;<\/p>\n","protected":false},"author":1,"featured_media":3218,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-3215","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/www.cloudidentity.com\/blog\/wp-json\/wp\/v2\/posts\/3215","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.cloudidentity.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.cloudidentity.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.cloudidentity.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.cloudidentity.com\/blog\/wp-json\/wp\/v2\/comments?post=3215"}],"version-history":[{"count":6,"href":"https:\/\/www.cloudidentity.com\/blog\/wp-json\/wp\/v2\/posts\/3215\/revisions"}],"predecessor-version":[{"id":3225,"href":"https:\/\/www.cloudidentity.com\/blog\/wp-json\/wp\/v2\/posts\/3215\/revisions\/3225"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.cloudidentity.com\/blog\/wp-json\/wp\/v2\/media\/3218"}],"wp:attachment":[{"href":"https:\/\/www.cloudidentity.com\/blog\/wp-json\/wp\/v2\/media?parent=3215"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.cloudidentity.com\/blog\/wp-json\/wp\/v2\/categories?post=3215"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.cloudidentity.com\/blog\/wp-json\/wp\/v2\/tags?post=3215"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}