{"id":2844,"date":"2014-07-07T23:06:21","date_gmt":"2014-07-08T06:06:21","guid":{"rendered":"http:\/\/www.cloudidentity.com\/blog\/?p=2844"},"modified":"2014-07-10T13:34:29","modified_gmt":"2014-07-10T20:34:29","slug":"adal-for-netwindows-storewindows-phone-is-now-open-source","status":"publish","type":"post","link":"https:\/\/www.cloudidentity.com\/blog\/2014\/07\/07\/adal-for-netwindows-storewindows-phone-is-now-open-source\/","title":{"rendered":"ADAL for .NET\/Windows Store\/Windows Phone Is Now Open Source!"},"content":{"rendered":"<p>We\u2019ve been saying it was coming for almost a year. With this RC preview release, it\u2019s finally happening: ADAL for .NET\/Windows Store\/Windows Phone is now fully open source!<\/p>\n<p>Without getting too dramatic, this truly ushers a new era of transparency and collaboration between our team and you guys \u2013 you\u2019ll be able to:<\/p>\n<ul>\n<li>Easily access ADAL\u2019s source (duh <img decoding=\"async\" class=\"wlEmoticon wlEmoticon-smile\" src=\"https:\/\/www.cloudidentity.com\/blog\/wp-content\/uploads\/2014\/07\/wlEmoticon-smile.png\" alt=\"Smile\" \/>) through <a href=\"https:\/\/github.com\/MSOpenTech\/azure-activedirectory-library-for-dotnet\">this GitHub repo<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/MSOpenTech\/azure-activedirectory-library-for-dotnet\/issues\">Fill issues directly in GitHub<\/a><\/li>\n<li>Contribute to ADAL!<br \/>\nYou will need to submit a <a href=\"http:\/\/www.microsoft.com\/web\/webpi\/eula\/MSOpenTech_CLA.rtf\">Contributor License Agreement<\/a> form before submitting your pull request. This needs to only be done once for any Microsoft Open Technologies OSS project. Download the Contributor License Agreement (CLA). Please fill in, sign, scan and email it to <a href=\"mailto:msopentech-cla@microsoft.com\">msopentech-cla@microsoft.com<\/a>.<\/li>\n<li>Fork the project if you want to do something radically different and you need a starting point<\/li>\n<li>See our work in progress and possibly do intermediate builds if a fix didn\u2019t make it to the released NuGet yet\n<ul>\n<li>In fact, you\u2019ll be able to grab nightly builds directly from MyGet! see below<\/li>\n<\/ul>\n<\/li>\n<li>Configure Visual Studio to get ADAL symbols and step into ADAL\u2019s source while debugging your own apps!<\/li>\n<\/ul>\n<p>Note that we will keep releasing new NuGet versions (stable and prerelease) at <a href=\"http:\/\/www.nuget.org\/packages\/Microsoft.IdentityModel.Clients.ActiveDirectory\/\">the usual location<\/a>, with the usual support policies \u2013 the code is an additional way for you to get even more value from ADAL and does not substitute our usual release cycle.<\/p>\n<p>As you might infer from the number of exclamation points, I am pretty excited about this! <img decoding=\"async\" class=\"wlEmoticon wlEmoticon-smile\" src=\"https:\/\/www.cloudidentity.com\/blog\/wp-content\/uploads\/2014\/07\/wlEmoticon-smile.png\" alt=\"Smile\" \/><br \/>\nAll of the above points are pretty self-explanatory, but the MyGet and VS configuration for vacuuming down the library symbols require a bit more guidance: see the instructions below.<\/p>\n<h2>Configuring Visual Studio 2013 to Access AAD\u2019s MyGet Feed<\/h2>\n<p>Our collaboration with the ASP.NET team on the OWIN middleware components for OpenId Connect made us experience first hand how convenient it is to have a MyGet feed where we can dump nightly builds and use it as a collaboration touch point as we refine our software. Hence, we decided to extend those benefits to ADAL itself.<br \/>\nTo configure the AAD MyGet feed in VS 2013:<\/p>\n<ul>\n<li>Go to Solution Explorer-&gt;[project node]-&gt; Manage NuGet Packages\u2026-&gt;Settings.<\/li>\n<li>Hit the \u2018+\u2019 button on the top right corner<\/li>\n<li>In the Name field, enter something to the effect of \u201cAAD Nightly\u201d<\/li>\n<li>In the Source field, enter\u00a0 <a title=\"http:\/\/www.myget.org\/f\/azureadwebstacknightly\/\" href=\"http:\/\/www.myget.org\/f\/azureadwebstacknightly\/\">http:\/\/www.myget.org\/f\/azureadwebstacknightly\/<\/a><\/li>\n<li>Hit \u2018Update\u2019<\/li>\n<li>Hit OK<\/li>\n<\/ul>\n<p>\u2026and voila\u2019! From now on you can get the absolute freshest (and totally unsupported, BTW <img decoding=\"async\" class=\"wlEmoticon wlEmoticon-smile\" src=\"https:\/\/www.cloudidentity.com\/blog\/wp-content\/uploads\/2014\/07\/wlEmoticon-smile.png\" alt=\"Smile\" \/>) work-in-progress ADAL build.<\/p>\n<p>Remember, for official previews and stable releases keep referring to the NuGet.org feed.<\/p>\n<h2>Configuring Visual Studio to Load ADAL Symbols<\/h2>\n<p>In my opinion, this is one of the coolest VS + NuGet features for open source projects. How many times have you wished to unpack that mysterious error and get to the bottom of what <em>exactly <\/em>is failing in that oh-so-handy-but-oh-so-black-box library you\u2019re using? Well, now with ADAL you can! It just requires a bit of configuration.<\/p>\n<p>You basically need to follow the \u201crecommended configuration\u201d section of <a href=\"http:\/\/www.symbolsource.org\/Public\/Home\/VisualStudio\">this page<\/a>.<br \/>\nHere there\u2019s how my debugger options look like after I have done so:<\/p>\n<p><a href=\"https:\/\/www.cloudidentity.com\/blog\/wp-content\/uploads\/2014\/07\/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: 0px;\" title=\"image\" src=\"https:\/\/www.cloudidentity.com\/blog\/wp-content\/uploads\/2014\/07\/image_thumb.png\" alt=\"image\" width=\"640\" height=\"429\" border=\"0\" \/><\/a><\/p>\n<p>and here there are my symbols settings:<\/p>\n<p><a href=\"https:\/\/www.cloudidentity.com\/blog\/wp-content\/uploads\/2014\/07\/image1.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px; border: 0px;\" title=\"image\" src=\"https:\/\/www.cloudidentity.com\/blog\/wp-content\/uploads\/2014\/07\/image_thumb1.png\" alt=\"image\" width=\"640\" height=\"458\" border=\"0\" \/><\/a><\/p>\n<p>Please be aware that loading up the symbol cache is doing to be quite laborious for VS, hence don\u2019t set this thing up right before walking on stage for a demo! <img decoding=\"async\" class=\"wlEmoticon wlEmoticon-smile\" src=\"https:\/\/www.cloudidentity.com\/blog\/wp-content\/uploads\/2014\/07\/wlEmoticon-smile.png\" alt=\"Smile\" \/> But once you\u2019ve got the symbols in place, you\u2019ll be able to dig as deep as you want.<\/p>\n<h2>Next<\/h2>\n<p>We\u2019ve been waiting for this for a long time. Today we are all very excited to start to develop ADAL for .NET\/Windows Store\/Windows Phone in that huuuuge open space floor that is the Internet.<\/p>\n<p>As we finally reached the RC milestone, you can expect the next few weeks to be devoted to stabilization \u2013 however don\u2019t let that stop you from toying with the source, share your ideas, and if there\u2019s something you want to fix or contribute\u2026 hit that pull request button! <img decoding=\"async\" class=\"wlEmoticon wlEmoticon-smile\" src=\"https:\/\/www.cloudidentity.com\/blog\/wp-content\/uploads\/2014\/07\/wlEmoticon-smile.png\" alt=\"Smile\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>We\u2019ve been saying it was coming for almost a year. With this RC preview release, it\u2019s finally happening: ADAL for .NET\/Windows Store\/Windows Phone is now fully open source! Without getting too dramatic, this truly ushers a new era of transparency and collaboration between our team and you guys \u2013 you\u2019ll be able to:&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"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-2844","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/www.cloudidentity.com\/blog\/wp-json\/wp\/v2\/posts\/2844","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=2844"}],"version-history":[{"count":3,"href":"https:\/\/www.cloudidentity.com\/blog\/wp-json\/wp\/v2\/posts\/2844\/revisions"}],"predecessor-version":[{"id":2876,"href":"https:\/\/www.cloudidentity.com\/blog\/wp-json\/wp\/v2\/posts\/2844\/revisions\/2876"}],"wp:attachment":[{"href":"https:\/\/www.cloudidentity.com\/blog\/wp-json\/wp\/v2\/media?parent=2844"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.cloudidentity.com\/blog\/wp-json\/wp\/v2\/categories?post=2844"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.cloudidentity.com\/blog\/wp-json\/wp\/v2\/tags?post=2844"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}