未处理的拒绝TypeError:this.logger未定义-@ microsoft / mgt中的TeamsProvider.handleAuth

问题描述

我正在使用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 (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...