依赖项注入 MSAL Javascript 库

Dependency inject MSAL Javascript library

我正在与一个开发团队合作,该团队正在利用 Microsoft 的 MSAL.js 库开发普通 javascript 应用程序。 authConfig.js 有以下必要的代码:

const msalConfig = {
auth: {
  clientId: "11111111-1111-1111-111111111111",
  authority: "https://login.microsoftonline.com/11111111-1111-1111-1111111111111",
  redirectUri: "http://localhost:3000/",
},
cache: {
  cacheLocation: "sessionStorage", // This configures where your cache will be stored
  storeAuthStateInCookie: false, // Set this to "true" if you are having issues on IE11 or Edge
}

我需要能够更改 Dev、QA 和 Prod 的 clientId 和 RedirectURI。有没有办法为 DevOps 管道依赖注入这些值?

Is there a way to dependency inject these values for the DevOps pipeline?

我想分享以下两种方法:

方法一:

您可以在每个阶段添加 PowerShell 任务来替换 ClientIdredirectUri 的值。

1.Set 保存旧值和新值的变量。

2.Run 以下 Powershell 脚本:

(Get-Content  .\authConfig.js).replace('$(oldid)', '$(newid)') | Set-Content  .\authConfig.js

(Get-Content  .\authConfig.js).replace('$(oldredirectUri)', '$(newredirectUri)') | Set-Content  .\authConfig.js

方法二:

您可以尝试使用 Replace Tokens Extension 中的 Replace Tokens 任务。

更多信息可以参考这张工单: