reactjs - getAccount() 是否足以使用 MSAL 通过 Azure AD B2C 保护 React SPA
问题描述
我正在确保一个 React SPA。该应用程序在专用网络上使用,并且只会访问专用网络内的端点。我不需要进一步调用来保护 JWT,因此我计划在用户导航到页面时调用 getAccount() 以及简单的时间检查。我找不到函数 getAccount() 的 MSAL 文档,但它几乎用于所有 MSAL 示例。getAccount() 是用于确定用户是否已登录的安全布尔值吗?
解决方案
假设 getAccount 读取 id_token 而不是某处的信息副本,那么是的,它应该足够安全,因为 id_token 保证不会被篡改(jwt 规范)
然而,SPA 永远不应该包含安全数据,因为根据定义它们是不安全的客户端。如果端点不安全,组织内部的任何人都可能能够访问已知的内部端点。正确的做法是使用 azure ad 保护端点,将这些端点的 api 公开给 spa 应用注册,并让端点使用令牌进行身份验证。
推荐阅读
- javascript - 用数字和字符串细化数组的搜索结果
- amazon-web-services - Ansible 中的语法问题
- python - 为什么多处理池实例化在一个程序中工作但在另一个程序中得到 ImportError?
- php - 将文本框中的日期和时间转换为php中的时间戳
- php - 返回枢轴数据以在 Laravel 中查看
- google-cloud-platform - 将数据流从 Google Cloud Storage 流式传输到 Big Query
- c# - 实体框架关系映射中的错误
- c# - 使用 JSON.NET 反序列化 json,但在附加字段上保留特定类的原始 json
- typescript - TS 转译:babel vs tsc
- tcl - TCL - 检查文件是否包含变量的值并返回部分行