Azure active directory MSAL.js-隐式身份验证-带有回复url参数的问题

Azure active directory MSAL.js-隐式身份验证-带有回复url参数的问题,azure-active-directory,msal.js,Azure Active Directory,Msal.js,我将MSAL.js用于基于javascript的单页应用程序。 我们已将Azure Ad配置为隐式身份验证。 重定向url也已配置为页面 然而,我们有一个要求,我们每天收到电子邮件报告。此电子邮件有指向应用程序页面的链接,但带有允许筛选当天报告的查询参数 现在,如果我们通过登录页面访问应用程序,我们就可以很好地登录。但对于查询参数,它会给出一个异常“请求中指定的回复URL与回复URL不匹配…” 我正在Azure AD上使用端点V2,因此无法将*放入回复url中。我想这是一个存在的问题。但是有没有

我将MSAL.js用于基于javascript的单页应用程序。 我们已将Azure Ad配置为隐式身份验证。 重定向url也已配置为页面

然而,我们有一个要求,我们每天收到电子邮件报告。此电子邮件有指向应用程序页面的链接,但带有允许筛选当天报告的查询参数

现在,如果我们通过登录页面访问应用程序,我们就可以很好地登录。但对于查询参数,它会给出一个异常“请求中指定的回复URL与回复URL不匹配…”

我正在Azure AD上使用端点V2,因此无法将*放入回复url中。我想这是一个存在的问题。但是有没有办法克服登录和参数重定向的问题

谢谢,
Ash

我们在应用程序中通常采用的方法是将MSAL的特定URL指定为重定向URL,然后从那里重定向到“本地URL”。 因此,当您发送用户进行身份验证时,您将当前路径存储在本地/会话存储中的某个位置。 然后,当用户点击该回调页面时,您可以从存储器加载路径并将用户重定向到该页面。 通过这种方式,您可以避免使用通配符,并且仍然可以将用户带到他们想要去的地方

您可以告诉MSAL不要重定向到当前URL,并按如下方式指定重定向URL:

const app = new UserAgentApplication({
  auth: {
    // Other settings left out for brevity
    navigateToLoginRequestUrl: false,
    redirectUri: window.location.origin + '/auth-callback'
  }
});

我们在应用程序中通常采用的方法是将MSAL的特定URL指定为重定向URL,然后从那里重定向到“本地URL”。 因此,当您发送用户进行身份验证时,您将当前路径存储在本地/会话存储中的某个位置。 然后,当用户点击该回调页面时,您可以从存储器加载路径并将用户重定向到该页面。 通过这种方式,您可以避免使用通配符,并且仍然可以将用户带到他们想要去的地方

您可以告诉MSAL不要重定向到当前URL,并按如下方式指定重定向URL:

const app = new UserAgentApplication({
  auth: {
    // Other settings left out for brevity
    navigateToLoginRequestUrl: false,
    redirectUri: window.location.origin + '/auth-callback'
  }
});

好的,谢谢你提供的细节。我们确实考虑了一个中间页面,通过缓存参数来处理它。但我想知道图书馆是否有更干净的解决方案。我会试试你的建议。干杯这种方法本质上也是文档中推荐的方法:。尽管它使用状态参数而不是本地/会话存储。文档中也有一个关于开放重定向攻击的好观点。好的,谢谢您提供的详细信息。我们确实考虑了一个中间页面,通过缓存参数来处理它。但我想知道图书馆是否有更干净的解决方案。我会试试你的建议。干杯这种方法本质上也是文档中推荐的方法:。尽管它使用状态参数而不是本地/会话存储。文档中也有一个关于开放重定向攻击的好观点。