首页 > 解决方案 > getAccount() 是否足以使用 MSAL 通过 Azure AD B2C 保护 React SPA

问题描述

我正在确保一个 React SPA。该应用程序在专用网络上使用,并且只会访问专用网络内的端点。我不需要进一步调用来保护 JWT,因此我计划在用户导航到页面时调用 getAccount() 以及简单的时间检查。我找不到函数 getAccount() 的 MSAL 文档,但它几乎用于所有 MSAL 示例。getAccount() 是用于确定用户是否已登录的安全布尔值吗?

标签: reactjssecurityazure-active-directorymsal

解决方案


假设 getAccount 读取 id_token 而不是某处的信息副本,那么是的,它应该足够安全,因为 id_token 保证不会被篡改(jwt 规范)

然而,SPA 永远不应该包含安全数据,因为根据定义它们是不安全的客户端。如果端点不安全,组织内部的任何人都可能能够访问已知的内部端点。正确的做法是使用 azure ad 保护端点,将这些端点的 api 公开给 spa 应用注册,并让端点使用令牌进行身份验证。


推荐阅读