逻辑应用以托管身份调用WebAPI什么样的令牌被添加到请求中

时间:2019-11-12 15:04:13

标签: c# azure-active-directory azure-logic-apps azure-managed-identity

在Azure中,我有一个工作逻辑应用程序,该应用程序具有使用HTTP步骤调用WebAPI终结点的托管身份。现在将端点修饰为AllowAnonymous。但是我希望获得令牌/声明。如果万一它们是由逻辑应用程序添加的。所以我想知道的是Logic App添加的令牌(bearer,jwt)?并且一些示例代码可以帮助他们。

    [AllowAnonymous]   
    [HttpPost]
    [Route("API/datatest/handle/{Id}")]
    public async Task<HttpResponseMessage> HandleAsync(Data data, string Id)
    {
    //get to the token/claims here.
    }

    //or by attribute.
    [GetLoginAppTokenData]
    [HttpPost]
    [Route("API/datatest/handle/{Id}")]
    public async Task<HttpResponseMessage> HandleAsync(Data data, string Id)
    {
    //do moreenter code here
    }

1 个答案:

答案 0 :(得分:1)

1。转到逻辑应用程序> Identity>转到on已分配系统。

enter image description here

2。转到Web应用程序> Authentication / Authorization>开启Azure Active Directory身份验证提供程序。请参阅此article

3。转到Web应用程序> Access Control(IAM)>添加> Add role assignment,将Contributor之类的角色添加到逻辑应用程序的服务主体中。

enter image description here

4。转到逻辑应用designer添加Http连接器以使用托管身份对访问进行身份验证。

Authentication设置为Managed Identity,并将Audience添加为在天蓝色广告中注册的Web应用程序clientId

enter image description here

然后,您可以使用Logic App MSI访问Webapp。有关更多详细信息,请参阅此article