我通常是 ACS、WIF 和联合身份的新手,但我一直在研究 WIF SDK 培训工具包(以及 ACS 示例)中的示例,但我在与基于 ASP.NET MVC WebAPI 的 REST 服务(托管在 Azure 上),我将 ACS 设置为 FP。如果我使用浏览器测试我的 REST 服务 ( http://jordan-helloacs.cloudapp.net ),我将获得传统的“被动身份验证”体验,并且可以通过 Live ID 或 Google 登录(我将其设置为ACS 中的两个 IP)。
但是,我正在尝试使用一个简单的 WPF 应用程序来实现“被动-主动”体验,该应用程序通过使用
"https://[myACSnamespace].accesscontrol.windows.net/v2/metadata/IdentityProviders.js?protocol=javascriptnotify&realm=http://jordan-helloacs.cloudapp.net/&version=1.0",
ACS 上的端点列出可用的 IP,然后托管一个 WebBrowser 控件来处理对该 IP 的登录,并提取从 ACS 返回的 ACS 令牌,然后(使用 RestSharp)在http 上对我的端点进行 GET 调用: //jordan-helloacs.cloudapp.net。我已经成功提取了令牌(我已经尝试过 SWT 和 SAML2),但是一旦我从 WebBrowser 控件中获得了令牌,我就无法弄清楚我需要对它做什么。我见过几个不同的例子,其中令牌前面带有“OAUTH”或“WRAP access_token =”,并且只是传入了“Authorization”标头,但我所做的一切似乎都没有奏效。我的 RestSharp 客户端不断收到 302 到 ACS 登录页面。
关于我可能做错了什么的任何提示?我怎么知道如何指定 auth 标头格式?