使用 Azure AD 作为 IDP 保护 Azure 功能
Use Azure AD as IDP to protect Azure function
我正在使用 Azure 功能身份验证,我可以看到 2 个选项:身份验证和身份验证(经典)我应该使用哪一个?目前我使用的是身份验证,而不是经典的身份验证,我使用 Microsoft 作为 IDP:为其创建了一个新应用程序。似乎它有效,每次我访问我的 Azure 功能时,我都会收到 401 错误。那么问题来了:如何才能通过这个Auth呢?我应该使用令牌或类似的东西吗?我找不到关于它的文档。谢谢!
我认为您的方向是正确的,Azure 函数的身份验证(经典)是旧版本。推荐使用新的
如果您想访问受身份验证保护的Azure功能(Azure AD App),您需要为其申请一个访问令牌。请尝试以下步骤:
- 转到 Azure AD => 应用程序注册 => 您创建的用于保护 Azure 功能的应用程序 => 公开 API 以添加范围,例如
access_as_user
以便您的 SPA可能需要此范围的访问令牌:
- 进入 Azure AD => 应用程序注册 => 您为 SPA 应用程序创建的应用程序 => API 权限 => 添加权限 => 我的 APIs 授予我们的范围刚刚创建:
单击授予管理员同意按钮以完成该过程。
- 在您的 SPA 应用程序中,使用
MsalService
获取范围为:api://<your azure function app id>/access_as_user
的访问令牌,通过此令牌,您可以访问您的 Azure 函数。为了快速测试,我只是在 postman 中测试它并且它完美运行:
我正在使用 Azure 功能身份验证,我可以看到 2 个选项:身份验证和身份验证(经典)我应该使用哪一个?目前我使用的是身份验证,而不是经典的身份验证,我使用 Microsoft 作为 IDP:为其创建了一个新应用程序。似乎它有效,每次我访问我的 Azure 功能时,我都会收到 401 错误。那么问题来了:如何才能通过这个Auth呢?我应该使用令牌或类似的东西吗?我找不到关于它的文档。谢谢!
我认为您的方向是正确的,Azure 函数的身份验证(经典)是旧版本。推荐使用新的
如果您想访问受身份验证保护的Azure功能(Azure AD App),您需要为其申请一个访问令牌。请尝试以下步骤:
- 转到 Azure AD => 应用程序注册 => 您创建的用于保护 Azure 功能的应用程序 => 公开 API 以添加范围,例如
access_as_user
以便您的 SPA可能需要此范围的访问令牌:
- 进入 Azure AD => 应用程序注册 => 您为 SPA 应用程序创建的应用程序 => API 权限 => 添加权限 => 我的 APIs 授予我们的范围刚刚创建:
单击授予管理员同意按钮以完成该过程。
- 在您的 SPA 应用程序中,使用
MsalService
获取范围为:api://<your azure function app id>/access_as_user
的访问令牌,通过此令牌,您可以访问您的 Azure 函数。为了快速测试,我只是在 postman 中测试它并且它完美运行: