如何使用 MSAL acquireTokenRedirect() 获取 token?

问题描述 投票:0回答:1

我想知道如何正确使用 msal 的重定向方法来获取 token。

我有以下函数。

function acquireTokenRedirect() {
  const params = {
    redirectUri: 'http://localhost:8080/admin/',
    scopes: ['user.read']
  };
  console.log('Acquire token via redirect');
  msal.acquireTokenRedirect(params);
}

还有回调

msal.handleRedirectCallback((error, response) => {
  console.log('Redirect call back is called');
});

当我调用该方法时,我在Chrome控制台得到的是这样的结果。

Acquire token via redirect
Navigated to http://localhost:8080/admin/
Redirect call back is called
GET http://localhost:8080/ 404 (Not Found)
Navigated to http://localhost:8080/

为什么它会重定向到 http://localhost:8080/ 当我明确告诉它重定向到 http://localhost:8080/admin/?

MSAL 被配置为使用 redirectURI。http://localhost:8080/admin/,并在 Azure 门户中为项目指定了相同的重定向。

相比之下: msal.loginRedirect() 重定向到正确的URI。

javascript msal
1个回答
0
投票

我想这和这个问题的解决方案有关。

为了避免额外的重定向,我需要做的是设置"navigateToLoginRequestUrl"参数在Auth配置中改为false。这就解决了我的问题。

参考。msal in React SPA - 使用从AcquireTokenRedirect接收的访问令牌。

如果有帮助,请告诉我

© www.soinside.com 2019 - 2024. All rights reserved.