我正在开发Nodejs应用程序并使用AAD来保护Azure功能。
会有多个Nodejs客户端,但我不需要为每个客户端分配一个用户(所有实例都应该被视为同一个客户端)。
我应该如何实现这一点,是否有任何安全问题?
修改
受保护资源是具有HTTP触发器的Azure功能。
我只想限制对安装了NodeJs客户端的人的访问权限。我不希望用户输入他的凭据。我的问题是我应该使用哪种流程,我该怎么做呢?
答案 0 :(得分:1)
如果您不想使用用户的凭据,请评估Azure Active Directory v2.0 and the OAuth 2.0 client credentials flow。
此类授权通常用于必须在后台运行的服务器到服务器交互,而不会立即与用户交互。
虽然这个建议的解决方案可能看起来不太合适,但您可以使用管理员同意并让这项工作为您服务。还有一些其他注意事项,例如保护每台计算机上的凭据,您还必须查看这些凭据。
在客户端凭据流中,权限直接授予应用程序本身。当应用程序向资源提供令牌时,资源会强制应用程序本身具有执行操作的权限,而不是用户具有授权。
如果这看起来很有希望,那么还要看azure-activedirectory-library-for-nodejs让你前进。