如何配置azure ad以允许基于访问令牌访问api
我正在学习azure的所有知识,我已经安装了客户端应用程序(angular)和web api(.net core 2.2),并阅读了一些教程和microsoft文档,以了解如何将它们配置为使用azure登录active directory并相互通信 在我的客户端应用程序和web api上使用azure登录。在这两种情况下,我都直接在azure上通过启用应用程序服务身份验证进行了所有配置 我现在的挑战是让我的angular客户端应用程序能够访问api。为了确保我的api没有问题,我决定使用postman来尝试获取访问令牌并访问我的api。我可以通过提供我的tenantid、clientid、客户端机密和资源,然后使用客户端凭据授予类型来实现这一点。然后,我将收到的令牌传递给我的所有请求,它就起作用了 我的问题是:如何配置azure ad以允许基于访问令牌访问api,azure,azure-api-management,azure-api-apps,Azure,Azure Api Management,Azure Api Apps,我正在学习azure的所有知识,我已经安装了客户端应用程序(angular)和web api(.net core 2.2),并阅读了一些教程和microsoft文档,以了解如何将它们配置为使用azure登录active directory并相互通信 在我的客户端应用程序和web api上使用azure登录。在这两种情况下,我都直接在azure上通过启用应用程序服务身份验证进行了所有配置 我现在的挑战是让我的angular客户端应用程序能够访问api。为了确保我的api没有问题,我决定使用post
home#:1在'https://login.windows.net/{tenantid}/oauth2/authorize?响应类型=id\u令牌和重定向\u uri=https%3A%2F%2F{myapi}.azurewebsites.net%2F.auth%2Flogin%2Faad%2Fcallback&client\u id={clientid}&scope=openid+profile+email&response\u mode=form\u post&nonce=2fb9b6491a444fbebfd9099033af3dc9\u 20200920193746&state=redir%3D%252Fapi%252Fdata(从“https://{myapi}.azurewebsites.net/api/data”重定向)http://localhost:4200'已被CORS策略阻止:请求的资源上不存在'Access Control Allow Origin'标头。login.windows.net/{tenantid}/oauth2/authorize?response_type=id_token&redirect_uri=https%3A%2F%2F{myapi}.azurewebsites.net%2F.auth%2Flogin%2Faad%2Fcallback&client_id={clientid}&scope=openid+profile+email&response_mode=form_post&nonce={some guid-不确定是什么}_20200920193746&state=redir%3D%252Fapi%252Fdata:1未能加载资源:net::ERR_Failed core.js:6228错误—出现了错误代码>
我试着在api设置下使用我看到的所有cors选项,但我肯定错过了什么。我转到api部分->CORS下的web api应用程序服务。我通过检查允许访问控制允许凭据。我补充说http://localhost:4000 在允许的原产地。
我还进行了身份验证/授权,并添加了允许的外部重定向URLhttp://localhost:4000. 我错过了什么
理想情况下,我不想限制我的应用程序只访问特定的作用域,但如果需要,我会这样做。理想情况下,我希望我的angular客户端应用程序能够访问所有当前和未来的端点,而不必对api权限设置进行任何更改。我能够修复我的CORS错误,但使用*
而不是http://localhost:4000
在web api应用程序服务CORS部分。但是,现在我得到了一个401(未经授权)
。我在CORS错误之外的问题仍然有效,事实上我也想知道为什么设置http://localhost:4000
不起作用。