HowTo:从SPA(基于AngularJS,Azure AD保护)调用到WebAPI(仅限WebAPI,Azure AD保护)

时间:2015-04-08 09:40:52

标签: rest azure active-directory single-page-application

Hy All

我们有以下场景:

Azure的配置:

  • 两个WebApp(SPA和REST服务)
  • 上述两个Web应用程序作为应用程序的一个目录
  • 允许SPA调用REST服务

SPA的安全配置:

        app.UseWindowsAzureActiveDirectoryBearerAuthentication(
            new WindowsAzureActiveDirectoryBearerAuthenticationOptions
            {
                Audience = ConfigurationManager.AppSettings["ida:SPAAudience"],
                Tenant = ConfigurationManager.AppSettings["ida:Tenant"]
            });
    }

...对于Web-API(使用WebAPIAudience)也一样。

流速:

  • 客户端(浏览器,互联网) - > WebAPI SPA(DMZ) - > REST服务(内部)

我们不能使用Cors并且需要上述类似代理的场景,因为REST服务是内部的。

我的问题:

  • 如何使用已登录用户的权限(来自SPA Authentification)从SPA调用WebAPI REST服务?

感谢您的帮助!

彼得

修改 到目前为止我发现了什么:

  • Oauth2正在使用身份验证的应用程序标识(不是用户)

我们最终想要实现的目标:

  • REST服务端的基于角色的访问控制(RBAC)

问题:

  • 我们可以将Oauth2用于此目的(RBAC),还是像示例中那样需要OpenID Connect:WebApp-GroupClaims-DotNet(Azure AD示例)

  • 我们是否可以使用Oauth2从SPA中使用应用程序凭据调用REST服务,或者我们是否需要OpenID Connect,如下例所示:WebApp-WebAPI-OAuth2-AppIdentity-DotNet(Azure AD示例)

  • 此场景中的最佳做法是什么?

感谢。

0 个答案:

没有答案