获取'客户端配置错误:空网址错误:尝试通过axiosinstance传递标头时'URL为空或null

vfhzx4xs  于 2023-03-18  发布在  iOS
关注(0)|答案(1)|浏览(146)

我正在使用一个react应用程序。我需要为axios调用在头中传递Bearer键。
我正在使用@azure-msal进行身份验证。
尝试调用创建的axiosInstance .时,出现ClientConfigurationError: empty_url_error: URL was empty or null. at ClientConfigurationError.AuthError [as constructor]错误。
不知道我错过了什么.你能帮助我吗..下面是我正在使用的代码

import axios from 'axios';
import { PublicClientApplication } from '@azure/msal-browser';
const getAxiosInstance = () => {
  const msalConfig = {
    auth: {
      clientId: process.env.REACT_APP_CLIENT_ID,
      authority: process.env.REACT_APP_AUTHORITY,
      redirectUri: window.location.origin,
    },
  };
  const msalInstance = new PublicClientApplication(msalConfig);
  const account = msalInstance.getAllAccounts()[0];
  console.log("Msal account new",account);
  const scopes = ["openid", "profile", process.env.REACT_APP_OAUTH_SCOPE_URL];
  const getAccessToken = async () => {
    const response = await msalInstance.acquireTokenSilent({
      scopes,
      account,
    });
    return response.accessToken;
  };
  const axiosInstance = axios.create({
    baseURL: process.env.REACT_APP_BASEURL_PROJECT,
  });
  axiosInstance.interceptors.request.use(async (config) => {
    const token = await getAccessToken();
    config.headers.Authorization = `Bearer ${token}`;
    return config;
  });
  return axiosInstance;
};
export default getAxiosInstance();
e7arh2l6

e7arh2l61#

我不确定这是否是您的问题的原因,但msal-browser会抛出错误代码的一个原因是权限为空。
您的生成过程可能有问题,并且env变量未正确填充。您应该通过直接在浏览器中检查代码来检查此问题,如果未填充,则您知道问题出在生成过程中。

相关问题