成功登录后如何关闭登录标签?

时间:2017-08-14 10:38:02

标签: node.js oauth-2.0 botframework

我正在使用:

  1. MS Bot框架的Node SDK(版本3.7)
  2. AuthBot(使用OAuth2)
  3. 我已对其进行编码,以便一旦用户通过MS帐户登录,就会自动保存生成的幻数并开始对话会话。

    我的问题是:登录成功后是否可以关闭浏览器窗口的标签?我试过在不同的地方搜索过这个,并尝试了windows.close()方法,但没有任何作用。

    如果没有,是否可以拦截链接(即将在选项卡中打开)并打开本地HTML文件(代码为<script> window.close() </script>),登录后登录?

    以下是生成JSON响应的代码片段:

    server.get('/api/OAuthCallback/',
      passport.authenticate('azuread-openidconnect', { failureRedirect: '/login' }),
      (req, res) => {
        console.log('OAuthCallback');
        console.log(req);
        const address = JSON.parse(req.query.state);
        const magicCode = crypto.randomBytes(4).toString('hex');
        const messageData = { magicCode: magicCode, accessToken: req.user.accessToken, refreshToken: req.user.refreshToken, userId: address.user.id, name: req.user.displayName, email: req.user.preferred_username };
        magicNum = magicCode;
    
        var continueMsg = new builder.Message().address(address).text(JSON.stringify(messageData));
        console.log(continueMsg.toMessage());
        test_name = JSON.parse(req.user._raw).preferred_username.split("@")[0]
        bot.receive(continueMsg.toMessage());
        res.send('Sign-in successful');
      }
    );
    

0 个答案:

没有答案