首页 > 解决方案 > 混淆使用哪个 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 应用程序使用哪个平台配置?

谢谢你。

标签: reactjsauthenticationazure-active-directory

解决方案


• 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 服务器环境的兼容性。

请参阅以下链接以获取更多信息:-

为什么 React Js 被称为单页应用程序

https://docs.microsoft.com/en-us/answers/questions/315313/azure-app-registration-causing-the-following-error.html


推荐阅读