{"id":259,"date":"2012-03-15T17:37:00","date_gmt":"2012-03-16T02:37:00","guid":{"rendered":"http:\/\/www.cloudidentity.com\/blog\/2012\/03\/15\/windows-identity-foundation-tools-for-visual-studio-11-part-iv-get-an-f5-experience-with-acs2-2\/"},"modified":"2012-03-15T17:37:00","modified_gmt":"2012-03-16T02:37:00","slug":"windows-identity-foundation-tools-for-visual-studio-11-part-iv-get-an-f5-experience-with-acs2-2","status":"publish","type":"post","link":"https:\/\/www.cloudidentity.com\/blog\/2012\/03\/15\/windows-identity-foundation-tools-for-visual-studio-11-part-iv-get-an-f5-experience-with-acs2-2\/","title":{"rendered":"Windows Identity Foundation Tools for Visual Studio 11 Part IV: Get an F5 Experience with ACS2"},"content":{"rendered":"<p>Welcome to the last walkthrough (for now) of the <a href=\"http:\/\/bit.ly\/xAJ3Dr\">new WIF tools for Visual Studio 11 Beta<\/a>! This is my absolute favorite, where we show you how to take advantage of ACS2 from your application with just a few clicks.<\/p>\n<p> The complete series include <a href=\"http:\/\/bit.ly\/ymqBuv\">Using the Local Development STS<\/a>, <a href=\"http:\/\/bit.ly\/wDXL3J\">manipulating common config settings<\/a>, <a href=\"http:\/\/bit.ly\/zJCt9E\">connecting with a business STS<\/a>, <a href=\"http:\/\/bit.ly\/zN84Iz\">get an F5 experience with ACS2<\/a>.<\/p>\n<ul><\/ul>\n<p>Let\u2019s say that you downloaded the <a href=\"http:\/\/go.microsoft.com\/fwlink\/?LinkID=245849\">new WIF tools<\/a> (well done! <img decoding=\"async\" class=\"wlEmoticon wlEmoticon-smile\" alt=\"Smile\" src=\"http:\/\/cloudidentity.com\/blog\/wp-content\/uploads\/2012\/03\/7367.wlEmoticon_2D00_smile_5F00_7605E061.png\" \/>) and you at least checked out the first walkthrough. That test stuff is all fine and dandy, but now you want to get to something a bit more involved: you want to integrate with multiple identity providers, even if they come in multiple flavors.<\/p>\n<p>&#160;<\/p>\n<p>Open the WIF tools dialog, and from the Provider tab pick the \u201cUse the Windows Azure Access Control Service\u201d option.<\/p>\n<p>You\u2019ll get to the UI shown below. There\u2019s not much, right? That\u2019s because in order to use ACS2 form the tools you first need to specify which namespace you want to use. Click on the \u201cConfigure\u2026\u201d link.<\/p>\n<p><a href=\"http:\/\/cloudidentity.com\/blog\/wp-content\/uploads\/2012\/03\/6138.image_5F00_675B347C.png\"><img loading=\"lazy\" decoding=\"async\" style=\"margin: 0px;border: 0px currentcolor\" title=\"image\" border=\"0\" alt=\"image\" src=\"http:\/\/cloudidentity.com\/blog\/wp-content\/uploads\/2012\/03\/6138.image_5F00_675B347C.png\" width=\"600\" height=\"545\" \/><\/a><\/p>\n<p>You get a dialog which asks you for your namespace and for the management key.    <br \/>Why do we ask you for those? Well, the namespace is your development namespace: that\u2019s where you will save the trust settings for your applications. Depending on the size of your company, you might not be the one that manages that namespace; you might not even have access to the portal, and the info about namespaces could be sent to you by one of your administrator.<\/p>\n<p>Why do we ask for the management key? As part of the workflow followed by the tool, we must query the namespace itself for info and we must save back your options in it. In order to do that, we need to use the namespace key.<\/p>\n<p><a href=\"http:\/\/cloudidentity.com\/blog\/wp-content\/uploads\/2012\/03\/5545.image_5F00_73E8E198.png\"><img loading=\"lazy\" decoding=\"async\" style=\"margin: 0px;border: 0px currentcolor\" title=\"image\" border=\"0\" alt=\"image\" src=\"http:\/\/cloudidentity.com\/blog\/wp-content\/uploads\/2012\/03\/5545.image_5F00_73E8E198.png\" width=\"480\" height=\"319\" \/><\/a><\/p>\n<p>As you can see, the tool offer the option of saving the management key: that means that if you always use the same development namespace, you\u2019ll need to go through this experience only once.<\/p>\n<p>As mentioned above, the namespace name and management key could be provided to you from your admin; however let\u2019s assume that your operation is not enormous, and you wear both the dev and the admin hats. Here there\u2019s how to get the the management key value form the ACS2 portal.<\/p>\n<p>Navigate to <a href=\"http:\/\/windows.azure.com\">http:\/\/windows.azure.com<\/a>, sign in with your Windows Azure credentials, 1) pick the Service Bus, Access Control and Cache area, 2) select access control 3) pick the namespace you want to use for dev purposes and 4) hit the Access Control Service button for getting into the management portal.<\/p>\n<p><a href=\"http:\/\/cloudidentity.com\/blog\/wp-content\/uploads\/2012\/03\/0246.image_5F00_452328F6.png\"><img loading=\"lazy\" decoding=\"async\" style=\"border: 0px currentcolor\" title=\"image\" border=\"0\" alt=\"image\" src=\"http:\/\/cloudidentity.com\/blog\/wp-content\/uploads\/2012\/03\/0246.image_5F00_452328F6.png\" width=\"600\" height=\"408\" \/><\/a><\/p>\n<p>Once here, pick the management service entry on the left navigation menu; choose \u201cmanagement client\u201d, then \u201csymmetric key\u201d. Once here, copy the key text in the clipboard (beware not to pick up extra blanks!). <\/p>\n<p><a href=\"http:\/\/cloudidentity.com\/blog\/wp-content\/uploads\/2012\/03\/1325.image_5F00_15850A6A.png\"><img loading=\"lazy\" decoding=\"async\" style=\"margin: 0px;border: 0px currentcolor\" title=\"image\" border=\"0\" alt=\"image\" src=\"http:\/\/cloudidentity.com\/blog\/wp-content\/uploads\/2012\/03\/1325.image_5F00_15850A6A.png\" width=\"600\" height=\"408\" \/><\/a><\/p>\n<p>Now get back to the tool, paste in the values and you\u2019re good to go!<\/p>\n<p><a href=\"http:\/\/cloudidentity.com\/blog\/wp-content\/uploads\/2012\/03\/6523.image_5F00_2212B786.png\"><img loading=\"lazy\" decoding=\"async\" style=\"margin: 0px;border: 0px currentcolor\" title=\"image\" border=\"0\" alt=\"image\" src=\"http:\/\/cloudidentity.com\/blog\/wp-content\/uploads\/2012\/03\/6523.image_5F00_2212B786.png\" width=\"479\" height=\"318\" \/><\/a><\/p>\n<p>As soon as you hit OK, the tool downloads the list of all the identity providers that are configured in your namespace. In the screenshot below you can see that I have all the default ones, plus Facebook which I added in my namespace. If I would have had other identity providers configured (local ADFS2 instances, OpenID providers, etc) I would see them as checkboxes as well. Let\u2019s pick Google and Fecebook, then click OK.<\/p>\n<p><a href=\"http:\/\/cloudidentity.com\/blog\/wp-content\/uploads\/2012\/03\/2480.image_5F00_734CFEE3.png\"><img loading=\"lazy\" decoding=\"async\" style=\"border: 0px currentcolor\" title=\"image\" border=\"0\" alt=\"image\" src=\"http:\/\/cloudidentity.com\/blog\/wp-content\/uploads\/2012\/03\/2480.image_5F00_734CFEE3.png\" width=\"600\" height=\"548\" \/><\/a><\/p>\n<p>Depending on the speed of your connection, you\u2019ll see the little donut pictured below informing you that the tools are updating the various settings.<\/p>\n<p><a href=\"http:\/\/cloudidentity.com\/blog\/wp-content\/uploads\/2012\/03\/2480.image_5F00_7F6E790A.png\"><img loading=\"lazy\" decoding=\"async\" style=\"margin: 0px;border: 0px currentcolor\" title=\"image\" border=\"0\" alt=\"image\" src=\"http:\/\/cloudidentity.com\/blog\/wp-content\/uploads\/2012\/03\/2480.image_5F00_7F6E790A.png\" width=\"304\" height=\"188\" \/><\/a><\/p>\n<p>As soon as the tool closes, you are done! Hit F5.<\/p>\n<p>Surprise surprise, you get straight to the ACS home realm discovery page. Let\u2019s pick Facebook.<\/p>\n<p><a href=\"http:\/\/cloudidentity.com\/blog\/wp-content\/uploads\/2012\/03\/0246.image_5F00_730055E1.png\"><img loading=\"lazy\" decoding=\"async\" style=\"margin: 0px;border: 0px currentcolor\" title=\"image\" border=\"0\" alt=\"image\" src=\"http:\/\/cloudidentity.com\/blog\/wp-content\/uploads\/2012\/03\/0246.image_5F00_730055E1.png\" width=\"600\" height=\"409\" \/><\/a><\/p>\n<p>Here there\u2019s the familiar FB login\u2026<\/p>\n<p><a href=\"http:\/\/cloudidentity.com\/blog\/wp-content\/uploads\/2012\/03\/8360.image_5F00_3523BE65.png\"><img loading=\"lazy\" decoding=\"async\" style=\"margin: 0px;border: 0px currentcolor\" title=\"image\" border=\"0\" alt=\"image\" src=\"http:\/\/cloudidentity.com\/blog\/wp-content\/uploads\/2012\/03\/8360.image_5F00_3523BE65.png\" width=\"600\" height=\"407\" \/><\/a><\/p>\n<p>\u2026and we are in!<\/p>\n<p><a href=\"http:\/\/cloudidentity.com\/blog\/wp-content\/uploads\/2012\/03\/2500.image_5F00_21965EC4.png\"><img loading=\"lazy\" decoding=\"async\" style=\"margin: 0px;border: 0px currentcolor\" title=\"image\" border=\"0\" alt=\"image\" src=\"http:\/\/cloudidentity.com\/blog\/wp-content\/uploads\/2012\/03\/2500.image_5F00_21965EC4.png\" width=\"600\" height=\"407\" \/><\/a><\/p>\n<p>What just happened? Leaving the key acquisition out for a minute, let me summarize. <\/p>\n<ul>\n<li>you went to the tools and picked ACS as provider<\/li>\n<li>You got a list checkboxes, one for each of the available providers, and you selected the ones you wanted<\/li>\n<li>you hit F5, and your app showed that it is now configured to work with your providers of choice<\/li>\n<\/ul>\n<p>Now, I am biased: however to me this seems very, very simple; definitely simpler than the flow that you had to follow until now <img decoding=\"async\" class=\"wlEmoticon wlEmoticon-winkingsmile\" alt=\"Winking smile\" src=\"http:\/\/cloudidentity.com\/blog\/wp-content\/uploads\/2012\/03\/1325.wlEmoticon_2D00_winkingsmile_5F00_783F16C5.png\" \/><\/p>\n<p>Of course this is just a basic flow: if you need to manage the namespace or do more sophisticated operations the portal or the management API are still the way to go. However now if you just want to take advantage of those features you are no longer forced to learn how to go through the portal. In fact, now dev managers can just give the namespace credentials without necessarily giving access to the Windows Azure portal for all the dev staff. <\/p>\n<p>What do you think? We are eager to hear your feedback!<\/p>\n<p>Don\u2019t forget to check out the other walkthroughs: the complete series include <a href=\"http:\/\/bit.ly\/ymqBuv\">Using the Local Development STS<\/a>, <a href=\"http:\/\/bit.ly\/wDXL3J\">manipulating common config settings<\/a>, <a href=\"http:\/\/bit.ly\/zJCt9E\">connecting with a business STS<\/a>, <a href=\"http:\/\/bit.ly\/zN84Iz\">get an F5 experience with ACS2<\/a>.<\/p>\n<div style=\"clear:both\"><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Welcome to the last walkthrough (for now) of the new WIF tools for Visual Studio 11 Beta! This is my absolute favorite, where we show you how to take advantage of ACS2 from your application with just a few clicks. The complete series include Using the Local Development STS, manipulating common config settings,&#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-259","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/www.cloudidentity.com\/blog\/wp-json\/wp\/v2\/posts\/259","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=259"}],"version-history":[{"count":0,"href":"https:\/\/www.cloudidentity.com\/blog\/wp-json\/wp\/v2\/posts\/259\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.cloudidentity.com\/blog\/wp-json\/wp\/v2\/media?parent=259"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.cloudidentity.com\/blog\/wp-json\/wp\/v2\/categories?post=259"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.cloudidentity.com\/blog\/wp-json\/wp\/v2\/tags?post=259"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}