使用Azure AD保护Web API并在Windows Phone上访问它

时间:2014-02-07 19:49:33

标签: windows-phone-8 azure-active-directory

我正在尝试(自3天以来,超过10次尝试)让我的Windows Phone(之后的Xamarin iOS和Android)通过Azure AD进行身份验证,但不知怎的,它对我不起作用。我正在关注这里提到的文章:http://www.cloudidentity.com/blog/2013/04/29/fun-with-windows-azure-ad-calling-rest-services-from-a-windows-phone-8-app/ 我做了以下步骤:

  1. 使用组织帐户创建ASP.NET MVC5网站(应用程序在我的AD中注册为AppA)
  2. 我添加了一个返回Hello World字符串
  3. 的Web API
  4. 我构建项目并测试是否正常工作。我确实得到了Hello World
  5. 然后我创建了Azure网站&下载发布资料
  6. 使用组织帐户发布现有的ASP.NET MVC站点。 VS要求提供凭据并在Azure AD(AppB)中创建另一个应用程序
  7. 网站和Web API正常运行
  8. 我在Azure AD中创建Native app(AppC)并允许访问Web API(来自AppB)
  9. 我创建了Windows Phone应用程序,并从(AppC)
  10. 提供了返回URL和客户端ID
  11. 我从AppB
  12. 添加此本机应用的资源URI
  13. 我从上面的URL输入代码。
  14. 现在,如果我运行该项目,我会得到以下详细信息:
  15. "access_token": "eyJ0eXAvv9w",
    "token_type": "Bearer",
    "expires_in": "3599",
    "expires_on": "1391805190",
    "resource": "https://mayurt.onmicrosoft.com/WebApp-dailystatusupdater.azurewebsites.net",
    "refresh_token": "AwAB...IgAA",
    "scope": "user_impersonation",
    "id_token": "eyJ0eXAIn0."
    

    现在,如果我调用Web API,我将被重定向到登录页面,但我看不到任何错误。我试过Postman和Fiddler。

1 个答案:

答案 0 :(得分:0)

感谢Philippe Signoret。

感谢Vittorio的一系列帖子帮助我解决了这个问题。您可以在此处找到更多信息:cloudidentity blog