即使窗口显示已加载页面,Window.location.href也将返回空

时间:2020-09-18 20:10:52

标签: javascript reactjs oauth window.open

我正在尝试从Twitch Oauth URL获取重定向代码。

这是我的react项目中的两个功能。

我使用onClick按钮调用AuthroizationWithTwitch。该函数将授权URL发送到getCode,这将打开一个弹出窗口。我等待页面加载,然后尝试访问为空的window.location.href。有人知道为什么href返回空吗?

 getCode =(uri)=>{

    return new Promise((resolve, reject) => {

      const authWindow = window.open(
        uri,
        "_blank",
        "toolbar=yes,scrollbars=yes,resizable=yes,width=500,height=500"
      );

      let url=''
      setInterval(async () => {
        try {
          url = authWindow.location.href
          
        } catch (e) {}
        if (url) {

          
          const code = url
          authWindow.close()
          resolve(code);
        }
      }, 15000);

    })//end of promise
    
    

    
  }

  AuthenticateWithTwitch =  async () => 
  {
    console.log("Hello")
    const clientId = 'dfhfayrc92wj4hanpn5h6fpsjxvyrj'
    const redirectUri='http://localhost'

    const codeUri =
      `https://id.twitch.tv/oauth2/authorize?` +
      `client_id=${clientId}&` +
      `redirect_uri=${redirectUri}&` +
      `response_type=code&` +
      `scope=openid user_read&`;
      
      console.log(codeUri)
     const code = await this.getCode(codeUri);
    console.log("CODE",code)
  };

0 个答案:

没有答案