如何将Azure AD身份验证与已自动添加服务引用的Web API服务集成?

时间:2014-09-19 05:31:03

标签: asp.net-mvc azure asp.net-web-api2

我有一个ASP.NET MVC网站,其中我使用Entity Framework"添加了一个带有Actions的Web API 2 OData控制器。 这是第一组自动生成的代码。

我从本机客户端调用此Web API。我通过右键单击,添加引用添加了对Web API服务的引用。 这是自动生成的第2位。

我已在客户端配置了Azure AD身份验证。这很有效。

我现在要做的是:根据从客户端登录的用户为每个Web API调用设置身份验证。因此,客户端的访问令牌需要从客户端传递到Web API,并且此令牌应该用于进一步进行身份验证。

请注意,很多代码都是自动生成的。因此,如果可能的话,代码的添加应该对代码的重新生成影响最小。

稍后Web API将使用用户信息根据其身份过滤数据,并使用基于角色的身份。

有关如何开始的任何指示?我觉得所有的各种作品都是可用的,但是如何将它们集中到一个解决方案中是完全没有把握的。

1 个答案:

答案 0 :(得分:1)

作为自动生成解决方案一部分的容器是我们需要传递令牌的地方。

以下是代码:

autogenContainer.BuildingRequest += (sender, args) =>
{
    args.Headers.Add("Authorization", "Bearer " + access token retrieved from Azure);
};