我有一个SPA应用程序和一个相关的API,它从这个API中获取数据。
我最近设计了SPA上的身份验证,以便它使用MSAL针对我们公司的AAD对用户进行身份验证,并能够检索一个令牌,然后应用程序也可以使用该令牌访问MS Graph。
但是,我也希望我的API能够针对AAD进行身份验证。我希望API能够接受来自SPA客户端的令牌。
虽然我能够将令牌从客户端发送到API(Authorization: 'Bearer'...)
,但我不确定在服务器端如何处理它,然后与身份提供者验证令牌是否有效。
在大多数情况下,我不希望API有UI方面的问题(例如认证/登录屏幕),它应该简单地拒绝任何没有携带正确令牌的请求。
我希望最终能将客户端和服务器应用程序作为应用服务托管在Azure上,但目前它们是在内部托管的。我认为有一种方法可以确保解决方案的工作,无论应用程序托管在哪里。
谢谢你的帮助!
1条答案
按热度按时间rjee0c151#
我不确定我是否理解了标题和问题主体之间的关系:我将回答正文:)在https://azure.microsoft.com/en-us/resources/samples/active-directory-b2c-javascript-msal-singlepageapp/中,您可以在Node JS中看到Web API令牌验证的示例。服务端逻辑只需调整为指向您正在使用的Azure AD租户。无论API托管在何处,上述操作都将正常工作,前提是要验证的参数都与逻辑标识符有关。