vue-authenticate“错误:“身份验证”弹出窗口已关闭”

时间:2019-09-11 15:38:28

标签: authentication oauth-2.0

我正在尝试使用vue-authenticate的oauth2提供程序和自定义axios响应拦截器进行身份验证,如下所示:

  bindRequestInterceptor() {
    this.$http.interceptors.request.use((config) => {
      console.log('Axios intercetping request')
      console.log(`Before checking Token : ${this.getToken()}`)
      if (this.isAuthenticated()) {
        console.log('Authenticated')
        config.headers.Authorization = [
          this.options.tokenType, this.getToken(),
        ].join(' ')
      } else {
        console.log('Not authenticated')
        delete config.headers.Authorization
        let this_ = this;
        this.authenticate('oauth2').then(function(authResponse){
          console.log(authResponse)
          this_.isAuthenticated = this_.$auth.isAuthenticated();

        })//This fires an oauth popup window
      }
      console.log(`After checking Token : ${this.getToken()}`)
      return config
    })
  },

运行ajax调用时:  -我在窗口中重定向到我的授权网址(/oauth/authorize)  -批准后,我成功地使用授权码重定向到了自定义redirect_uri

我的问题是,为什么在执行此流程后我不能成为authenticated。 实际上,如果我通过axios调用ajax,它将使我从授权流程(批准窗口等)中重新循环

这里有没有人熟悉此工具,以及如何解决此问题?

注意:关闭批准窗口时,我在名为ajax的页面中收到此错误

Possible Unhandled Promise Rejection: Error: Auth popup window closed

注2:根据上述代码的控制台日志

Axios intercetping request
app.js?id=01021d92b5ff42f0b696:30471 Before checking Token : null
app.js?id=01021d92b5ff42f0b696:30479 Not authenticated
app.js?id=01021d92b5ff42f0b696:30487 After checking Token : null

0 个答案:

没有答案