我完全不知道在Azure AD应用程序的身份验证刀片下使用哪个平台配置。
有两个平台配置我很困惑:
- "Web">
- "单页application">
我注册的应用程序是一个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.
据我所知,网络平台是未来的发展方向(而不是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服务器环境的兼容性。
请参考以下链接获取更多信息:-
为什么React Js被称为单页应用程序
https://learn.microsoft.com/en-us/answers/questions/315313/azure-app-registration-causing-the-following-error.html