Azure active directory 如何使用客户端凭据访问Azure代理API

Azure active directory 如何使用客户端凭据访问Azure代理API,azure-active-directory,Azure Active Directory,我有一个托管API的on-prem服务器,我已经使用Azure AD应用程序代理通过以下步骤公开了API: 我能够通过使用OAuth 2.0的代理访问API,方法是从Azure AD获取授权代码,然后获得一个令牌,将代理URI指定为资源 问题是,如何在不经过OAuth 2.0授权流的情况下访问API 我通过创建另一个Web API应用程序(App2)并授予对代理应用程序的访问权,尝试了客户端凭据流。我能够通过以下步骤使用客户端凭据流获取令牌 https://login.microsoftonl

我有一个托管API的on-prem服务器,我已经使用Azure AD应用程序代理通过以下步骤公开了API:

我能够通过使用OAuth 2.0的代理访问API,方法是从Azure AD获取授权代码,然后获得一个令牌,将代理URI指定为资源

问题是,如何在不经过OAuth 2.0授权流的情况下访问API

我通过创建另一个Web API应用程序(App2)并授予对代理应用程序的访问权,尝试了客户端凭据流。我能够通过以下步骤使用客户端凭据流获取令牌

https://login.microsoftonline.com/{tenantid}/oauth2/token
    ?grant_type=client_credentials
    &client_id={clientId}
    &client_secret={secret}
    &resource={proxyurl}
当我使用这个令牌访问代理API时,它说

当我尝试使用令牌(通过授权流)时,我能够访问代理API,但当我尝试使用提供给App2的令牌访问代理API时,我认为它应该允许访问API

目前的结果是:

内部服务器错误:

当前无法访问此公司应用程序。 请稍后再试

下一步 客户端请求遇到内部服务器错误

快速链接 了解有关应用程序代理服务的更多信息 应用程序代理服务疑难解答


我不明白你的意思,你能说清楚吗?例如,您使用oauth 2.0身份验证流使用app2访问api?您是如何在本地应用程序中配置身份验证的?@PhilippeSignoret我正在做一些测试,所以目前on-prem应用程序只是通过。但是,如果要从代理访问,它必须通过AAD auth(我就是这样设置的)。我所看到的是,我已经为onprem应用程序配置了azure proxy,希望从后台进程进行访问,因此,如果我正确理解客户端凭据流,我正在寻找非用户交互身份验证机制。