reactjs - 混淆使用哪个 Azure AD 应用身份验证平台重定向配置
问题描述
我完全不知道在 Azure AD 应用程序的身份验证刀片下使用哪些平台配置。
我对两种平台配置感到困惑:
- “网络”
- “单页应用”
我注册的应用程序是一个 React JS 应用程序,在我看来,它既是一个 Web 应用程序又是一个 SPA。当我尝试配置重定向 URI 时,这个“兔子洞”变得更深,因此我可以使用 MSAL.js 在应用程序内进行身份验证和授权。
本质上,归结为(对于我的 http://localhost:5000 开发环境):
如果我在 Web 下指定我的 URI,则会收到错误消息:
AADSTS9002326: Cross-origin token redemption is permitted only for the 'Single-Page Application' client-type.
从我所阅读的内容来看,Web 平台是要走的路(不是 SPA)。
有人能解释一下这个复杂的区域吗?我应该为 ReactJS 应用程序使用哪个平台配置?
谢谢你。
解决方案
• React js 主要用于开发 SPA(单页应用程序),因为它是一个 Web 应用程序或网站,它通过使用来自 Web 服务器的新数据动态重写当前网页来与 Web 浏览器交互,而不是使用 Web 服务器的默认方法。浏览器加载整个新页面。这意味着您网站的 URL 不会完全改变(页面不会重新加载),而是会继续获取内容并用它重写 DOM,而不是加载新页面。目标是更快的转换,让网站感觉更像一个原生应用程序。
• 在构建您的react-app 时,您可以看到只有一个App.js 从那里加载您的整个Web 应用程序的片段和组件。这种在单个页面上渲染组件和页面并更改 DOM 的行为(是单个页面行为,因此得名),而不是加载具有新内容的新页面,这使它感觉就像一个单独的应用程序。
• 因此,当您使用 react js 作为构建代码平台时,我建议您使用 SPA 作为 Azure AD 应用注册的平台。这并不意味着您不能使用 react js 在远程 Web 服务器上创建应用程序并部署它,您可以托管 react js 编码的应用程序脚本并将其作为工作进程运行并提供所需的输出,您需要脚本执行后端运行时像 'ngrok' 和 'node.js' 来补充执行并提供与 Web 服务器环境的兼容性。
请参阅以下链接以获取更多信息:-
推荐阅读
- python - python中的错误:输入类型不支持'bitwise_and',
- r - Keras R 自定义指标 - 基于 y_pred 的子集的平均 y_true
- sql-server-data-tools - SqlPackage/SSDT 表重建丢失 Change Tracking CHANGETABLE 数据
- ios - iOS - 用 alpha 在位图周围绘制边框的算法?
- boolean - ALU 如何通过我的手工 ALU 中的控制位工作?
- macos - zsh:找不到命令:Mac上的trianglectl
- xml - 在 SSMS 中读取 XML
- python - 如何找到数据集的基本矩阵?
- javascript - 如何通过递归检查数组中的所有数字元素是否都是偶数?
- linux - linux 上的 np.longdouble