如何在MSAL的redirectUri中使用相对URL?

问题描述

在作为静态Web应用程序托管在Azure上的React应用程序中,我使用MSAL库进行身份验证。为了创建一个新的Msal.UserAgentApplication,我需要传递一个配置对象-特别是其中包含redirectUri。像这样:

const msalConfig = {
   auth: {
      clientId: "75d84e7a-40bx-f0a2-91b9-0c82d4c556aa",authority: "https://login.microsoftonline.com/common",redirectUri: "www.example.org/start",},...

我想知道:如何使用相对重定向网址,而不是绝对重定向网址?

我要解决的具体问题是以下问题:当我在本地启动和测试应用程序时,我想重定向 localhost:3000 / start 而不是 { {3}} 。到目前为止,我没有找到比在每次运行/部署之前切换配置文件更好的方法了,但是这很烦人,当然很容易被遗忘...

解决方法

您可以像这样将其动态化:

const msalConfig = {
  auth: {
    redirectUri: window.location.origin + '/start'
  }
}

这将获取当前原点,并将/ start添加到末尾。 这样,它就可以在本地和已部署的环境中工作。