我有一个托管API的本地服务器,并且已使用Azure AD应用程序代理通过此处提到的步骤公开了该API: https://docs.microsoft.com/en-us/azure/active-directory/manage-apps/application-proxy-add-on-premises-application
通过从Azure AD获取授权代码,然后从令牌中指定代理URI作为资源,我可以使用OAuth 2.0通过代理访问API。
问题是,如何不经过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。 / p>
当前结果是:
InternalServerError:
当前无法访问此公司应用。 请稍后再试...
后续步骤 客户端请求遇到内部服务器错误。
快速链接 了解有关应用程序代理服务的更多信息 对应用程序代理服务进行故障排除