问题描述
我正在使用MS Teams选项卡应用程序和Azure Active Directory进行身份验证。当弹出窗口出现时,它从以下位置返回“未处理的拒绝(TypeError):this.logger未定义”
TeamsProvider.hanldeAuth()
错误
(UserAgentApplication.prototype.urlContainsHash(window.location.hash)) {
// the page should redirect again
return;
}
我的代码如下
Index.js
import * as MicrosoftTeams from "@microsoft/teams-js/dist/MicrosoftTeams";
import { Providers,TeamsProvider } from '@microsoft/mgt';
const config = {
clientId: '<CLIENT_ID>',authPopupUrl: '/auth'
}
//TeamsProvider
TeamsProvider.microsoftTeamsLib = MicrosoftTeams;
Providers.globalProvider = new TeamsProvider(config);
路线
<Router>
<Route exact path="/auth" component={redirect-component}/>
<Route exact path="/" component={login-component}/>
</Router>
登录(登录组件)
async loginMethod() {
const provider = Providers.globalProvider;
if (provider && provider.login) {
await provider.login();
if (provider.state === ProviderState.SignedIn) {
console.log("loginCompleted")
} else {
console.log("loginFailed")
}
}
}
'/ auth'组件
import * as MicrosoftTeams from "@microsoft/teams-js/dist/MicrosoftTeams";
import {TeamsProvider} from '@microsoft/mgt';
class Authentication extends React.Component{
componentDidMount(){
TeamsProvider.microsoftTeamsLib = MicrosoftTeams;
TeamsProvider.handleAuth();// This is where error occured
}
render(){
return(
<div>
Redireact Auth URI
</div>
)
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)