远程服务器返回错误:(401)未授权 - Azure的OAUTH实现(WRAP)

时间:2013-07-08 17:41:46

标签: c# azure oauth

我有一个WCF Rest服务,我正在尝试与Azure的ACS集成,以验证来自客户端的请求。

我正在尝试使用其中一个测试:

http://msdn.microsoft.com/en-us/library/windowsazure/hh674475.aspx#BKMK_1

这是我的代码:

 string wrapUsername = "account@hotmail.com";
                string wrapPassword = "aPass123";

                // request a token from ACS
                WebClient client = new WebClient();
                client.BaseAddress = string.Format("https://glamstsecure.accesscontrol.windows.net");

                NameValueCollection values = new NameValueCollection();
                values.Add("wrap_name", wrapUsername);
                values.Add("wrap_password", wrapPassword);
                values.Add("wrap_scope", "uri:WindowsLiveID");

                byte[] responseBytes = client.UploadValues("WRAPv0.9/", "POST", values); <- Here i am getting  The remote server returned an error: (401) Unauthorized 

范围应该是身份验证权限吗?

2 个答案:

答案 0 :(得分:1)

wrap_scope应该是ACS门户网站中依赖方应用程序的领域。

此外,您可能需要仔细查看此解决方案。它旨在与您在ACS名称空间中配置的服务标识一起使用。

答案 1 :(得分:0)

尝试使用GoogleId /密码时遇到了同样的问题。它适用于ServiceIdentity。但是在使用其他任何东西时总是会抛出401错误。另外,Rick Rainey,您能详细说明为什么上述代码只能用于您指定的ServiceIdentities吗?