Reactjs 未调用重定向回调,但访问了重定向URI

Reactjs 未调用重定向回调,但访问了重定向URI,reactjs,azure,redirect,callback,msal,Reactjs,Azure,Redirect,Callback,Msal,我尝试使用Microsoft Azure登录 到目前为止有效的方法是: 当使用loginPopup().then(response=>console.log(response)时,我被要求登录并获取令牌,我在这里打印了令牌。这对我来说意味着一切都已正确设置和配置 用户体验不是用弹出窗口来打扰用户,而是使用loginDirect()。我再次被要求登录,然后我被重定向到注册的URI(AuthPage) 问题是: 从未调用已注册的回调函数。我想将收到的令牌存储在应用程序中,并在用户登录时设置不同

我尝试使用Microsoft Azure登录

到目前为止有效的方法是:

  • 当使用
    loginPopup().then(response=>console.log(response)
    时,我被要求登录并获取令牌,我在这里打印了令牌。这对我来说意味着一切都已正确设置和配置
  • 用户体验不是用弹出窗口来打扰用户,而是使用
    loginDirect()
    。我再次被要求登录,然后我被重定向到注册的URI(AuthPage)
问题是:

  • 从未调用已注册的回调函数。我想将收到的令牌存储在应用程序中,并在用户登录时设置不同的路由。为什么不调用回调
  • 如果我不使用
    msalObj.handleRedirectCallback(callback);
    我会得到一个错误。可能必须设置一些回调函数
  • 如果我被重定向到重定向URI并且可以从URL提取令牌,为什么我需要回调
我发现最有用的资料来源是:


从“React”导入React;
从“msal”导入{Configuration,UserAgentApplication};
导出常量登录页面=(道具)=>{
常量submitHandler=(e)=>{
常量msalConfig={
认证:{
clientId:“${process.env.REACT\u APP\u AAD\u CLIENT\u ID}”,
权限:“${process.env.REACT\u APP\u AAD\u authority}/${process.env.REACT\u APP\u AAD\u TENANT\u ID}”,
重定向URI:“${process.env.REACT\u APP\u AAD\u REDIRECT\u URI}”,
},
缓存:{
cacheLocation:“本地存储”,
storeAuthStateInCookie:是的
}
};
常量requestObj={
作用域:[“user.read”]
};
常量回调=(错误,响应)=>{
控制台日志(响应);
props.onRedirect(错误、响应);
};
e、 预防默认值();
const msalObj=新的用户代理应用程序(msalConfig);
msalObj.handleRedirectCallback(回调);
msalObj.loginDirect(请求对象);
};
返回(
登录

使用Azure登录 ); };