Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何使Instagram OAuth(或任何OAuth)始终强制用户登录,即使他们已登录到应用程序';s的网站?_Node.js_Express_Oauth_Instagram - Fatal编程技术网

Node.js 如何使Instagram OAuth(或任何OAuth)始终强制用户登录,即使他们已登录到应用程序';s的网站?

Node.js 如何使Instagram OAuth(或任何OAuth)始终强制用户登录,即使他们已登录到应用程序';s的网站?,node.js,express,oauth,instagram,Node.js,Express,Oauth,Instagram,我正在构建一个工具,用户可以在其中验证应用程序中的多个Instagram帐户。我遇到的问题是,如果用户已经对一个进行了身份验证,并且我再次启动OAuth对话,OAuth会假定我想要用户的访问令牌已经登录 我有一个类似的iOS应用程序,避免这种情况的方法是清除Safari浏览器中的所有cookie 我现在正在使用instagram节点模块 app.get('/authenticateInstagram', function(req, res) { res.redirect(ig.get_a

我正在构建一个工具,用户可以在其中验证应用程序中的多个Instagram帐户。我遇到的问题是,如果用户已经对一个进行了身份验证,并且我再次启动OAuth对话,OAuth会假定我想要用户的访问令牌已经登录

我有一个类似的iOS应用程序,避免这种情况的方法是清除Safari浏览器中的所有cookie

我现在正在使用
instagram节点
模块

app.get('/authenticateInstagram', function(req, res) {
    res.redirect(ig.get_authorization_url(redirectURI, {
        scope: ['basic', 'public_content', 'likes', 'follower_list', 'relationships'],
        state: 'a state'
    }));
});

app.get('/handleInstagramAuth', function(req, res) {
    ig.authorize_user(req.query.code, redirectURI, function(err, result) {
        if (err) {
            console.log(err.body);
            res.send('Didn\'t work');
        } else {
            console.log('Yay! Access token is ' + result.access_token);
            res.send('You made it!!');
        }
    });
});

因此,当我尝试添加另一个IG帐户时(现在我已经登录到Instagram帐户),OAuth序列不会提示我登录。它假定我是以前登录的用户。

我可以想到以下方法

  • 如果Instagram支持,您可以请求注销端点。注销后,您可以再次登录
  • 我不确定instagram是否支持
    prompt=login
    参数。如果是这样的话,每次通话都应该进入登录页面
  • 我查看了Instagram文档,我认为您可以使用客户端(隐式)流每次登录以获取访问令牌