Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 两个Azure web应用程序能否使用相同的令牌进行身份验证?_Node.js_Azure_Authentication_Msal - Fatal编程技术网

Node.js 两个Azure web应用程序能否使用相同的令牌进行身份验证?

Node.js 两个Azure web应用程序能否使用相同的令牌进行身份验证?,node.js,azure,authentication,msal,Node.js,Azure,Authentication,Msal,我有一个SPA应用程序和一个相关的API,它从中获取数据。(奥雷莉亚和诺德斯) 我最近在SPA上完成了身份验证,因此它使用MSAL根据我们公司的AAD对用户进行身份验证,并且能够检索一个令牌,然后应用程序也可以使用该令牌访问MS Graph 但是,我还希望我的API根据AAD进行身份验证。我希望API能够从SPA客户端接受令牌 虽然我能够将令牌从客户端发送到API(授权:“承载者”…)但我不确定如何在服务器端使用它,然后与身份提供商验证令牌是否有效。 在大多数情况下,我不希望API有UI问题(即

我有一个SPA应用程序和一个相关的API,它从中获取数据。(奥雷莉亚和诺德斯)

我最近在SPA上完成了身份验证,因此它使用MSAL根据我们公司的AAD对用户进行身份验证,并且能够检索一个令牌,然后应用程序也可以使用该令牌访问MS Graph

但是,我还希望我的API根据AAD进行身份验证。我希望API能够从SPA客户端接受令牌

虽然我能够将令牌从客户端发送到API(
授权:“承载者”…)
但我不确定如何在服务器端使用它,然后与身份提供商验证令牌是否有效。

在大多数情况下,我不希望API有UI问题(即身份验证/登录屏幕)。它应该简单地拒绝任何没有携带正确令牌的请求

我希望最终将客户端和服务器应用都作为应用服务托管在Azure上,但目前它们是在内部托管的。我认为有一种方法可以确保无论应用程序托管在何处,解决方案都能正常工作


谢谢你的帮助

我不确定我是否理解标题和问题主体之间的关系:我将回答主体:) 在中,您可以在Node JS中看到web API令牌验证的示例。只需调整服务端逻辑以指向您正在使用的Azure AD租户。
无论API托管在何处,上述操作都会起作用,因为要验证的参数都与逻辑标识符有关。

您提供的链接谈到了注册应用程序。我对那个词感到困惑。我可以在我的租户中注册一个应用程序,但是还有一个Azure应用程序注册门户(),它在许多不同的文档和示例中被引用。如何知道在哪个地方注册应用程序?我链接了这个示例,以便您可以查看node js中的令牌验证代码,我并不是建议您更改注册设置。如果您正在使用MSAL并调用问题中描述的图表,我假设您在apps.dev.microsoft.com中注册了应用程序;你不需要在这方面做任何改变。谢谢。我仍在努力让我的头脑专注于这一切,但我认为你的样本有助于我达到目的。