e2e*_*Dev 3 azure azure-active-directory azure-web-app-service azure-functions
我有 Azure Functions,我想使用访问令牌进行身份验证。
我设置了以下内容
目前,API 是匿名的,可以从任何地方调用。我想使用图形 api 使用的访问令牌来保护这些 api(第 2 点)
我认为对我来说最好的方法是 AAD 多租户身份验证。但是,当我单击“身份验证(经典)”时,它给了我This app is configured using the new authentication experience. Click here to access Authentication (preview).
另外,如果我使用以下选项保持身份验证,我会得到"You do not have permission to view this directory or page." error
我在网上找到的大多数文章都在谈论 AAD。对我来说该选项未启用。
我尝试过遵循以下文章来使其发挥作用,但不知何故它没有发生。谁能建议一下。我怎样才能做到这一点。
https://medium.com/geekculture/easyauth-in-functions-app-with-azure-active-directory-29c01cad8477
我需要在现有的 Azure 应用程序中执行某些操作才能使其正常工作吗?
根据我的理解,您的 Azure 函数受 AAD 使用身份验证(轻松身份验证)的保护。现在,您的 Angular SPA 想要访问此功能。请按照以下步骤操作:
access_as_user以便您的 SPA 可能需要此范围的访问令牌:单击授予管理员同意按钮以完成该过程。
MsalService获取范围为: 的访问令牌api://<your azure function app id>/access_as_user,通过此令牌,您可以访问您的 Azure 函数。为了快速测试,我只是在 post man 中测试它,它工作得很好:不使用此访问令牌
更新
基本上,您的应用程序请求图如下:
SPA(带有访问令牌的请求)==> Azure函数的轻松身份验证(验证令牌,如果通过,则进入Azure函数代码逻辑,如果没有,返回401)==> Azure函数的代码逻辑(获取访问令牌的obo流程对于 Graph API) ==> 调用 Microsoft Graph API
到目前为止,我们已经完成了步骤 1 和 2:获取用于简单身份验证的访问令牌并将简单身份验证传递到 Azure 函数代码逻辑。
所以在Azure函数代码逻辑中,我们需要做两件事:

顺便说一句,请确保您的 Azure 函数应用程序已获得许可user.read并且Calendars.Read:
这样您就可以获得新的访问令牌来调用 Microsoft Graph API:

| 归档时间: |
|
| 查看次数: |
4229 次 |
| 最近记录: |