我有一个ASP.NET MVC网站,其中我使用Entity Framework"添加了一个带有Actions的Web API 2 OData控制器。 这是第一组自动生成的代码。
我从本机客户端调用此Web API。我通过右键单击,添加引用添加了对Web API服务的引用。 这是自动生成的第2位。
我已在客户端配置了Azure AD身份验证。这很有效。
我现在要做的是:根据从客户端登录的用户为每个Web API调用设置身份验证。因此,客户端的访问令牌需要从客户端传递到Web API,并且此令牌应该用于进一步进行身份验证。
请注意,很多代码都是自动生成的。因此,如果可能的话,代码的添加应该对代码的重新生成影响最小。
稍后Web API将使用用户信息根据其身份过滤数据,并使用基于角色的身份。
有关如何开始的任何指示?我觉得所有的各种作品都是可用的,但是如何将它们集中到一个解决方案中是完全没有把握的。
答案 0 :(得分:1)
作为自动生成解决方案一部分的容器是我们需要传递令牌的地方。
以下是代码:
autogenContainer.BuildingRequest += (sender, args) =>
{
args.Headers.Add("Authorization", "Bearer " + access token retrieved from Azure);
};