我正在尝试利用内置的 Azure 应用服务/功能 AD 身份验证进行访问控制。我想对应用服务(这是一个 UI SPA 应用)和功能(HTTP 触发器)使用相同的身份验证,以便用户只需要登录一次。我的函数应用程序是一个 node.js 函数。
我不需要授权,即我只想让某些用户使用应用程序的服务和功能,但他们都有完全的访问权限。
我有一个使用 AD 身份验证设置的应用程序服务,只需从门户启用 AD 身份验证并使用正确的 AD 应用程序选择“快速”模式,它就可以很好地工作。AD 应用启用了隐式身份验证流程。
问题是功能。如何重用来自应用服务(即单页前端应用)的用户身份验证状态用于该功能?
现在,我可以使用 AAD MSAL 获取身份验证令牌,但我似乎无法使用它访问该功能。似乎有十几种使用身份验证的方法(X-ZUMO、OAuth 持有者等)并没有帮助。
总而言之,我只想限制对 SPA 网络应用程序(应用程序服务)和功能的访问,以便用户只需要登录一次。我可以在函数中实现身份验证代码,但如果我可以在不触及函数代码的情况下将其变为 Work(tm),那就更好了。