我正在使用一个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();
1条答案
按热度按时间e7arh2l61#
我不确定这是否是您的问题的原因,但msal-browser会抛出错误代码的一个原因是权限为空。
您的生成过程可能有问题,并且env变量未正确填充。您应该通过直接在浏览器中检查代码来检查此问题,如果未填充,则您知道问题出在生成过程中。