Dre*_*w H 5 node.js twitter-oauth passport.js
在护照我有Twitter身份验证.一切都很好登录明智.我有这个代码
app.get('/auth/twitter', function (req, res) {
if (req.user) {
return res.redirect('/');
}
return passport.authenticate('twitter')(req, res);
});
Run Code Online (Sandbox Code Playgroud)
因此,如果用户已经使用Twitter登录到我的网站,它只会重定向回来(最终可能会给出一条消息).一旦他们退出网站并再次点击Twitter登录,他们就会再次访问Twitter授权应用页面.它不应该.当我查看其他网站时,它永远不会要求我再次授权该应用程序.如果我查看我的推特配置文件的授权应用程序部分,我会看到我正在开发的应用程序.
为什么我的应用程序在我已经提交时仍继续要求授权?我该怎么改变这个(我在db中存储令牌和token_secret)?谢谢您的帮助.
我最近在我的开发系统中遇到了同样的问题,但没有在生产中.
我的问题可以追溯到Twitter上的应用程序设置.当我访问Twitter Dev网站并开始仔细比较我为DEV和PROD系统所做的选择时,我注意到我的应用程序的"设置"选项卡上有一个区别,其中包含"允许此应用程序用于登录的复选框"在Twitter的"复选框未选中我的DEV但是是我的PROD系统.
应用程序设置选项卡上复选框下的小字体显示:
启用后,您的应用程序可用于"使用Twitter登录".禁用后,您的应用程序将无法使用/ oauth/authenticate,而对它的任何请求都会将用户重定向到/ oauth/authorize
授权与验证之间的区别在术语上并不明确,但授权每次都需要确认,而验证"记住"用户的选择.
在我做了这个单一更改之后,每次我测试通过Twitter登录时,我的DEV系统都停止询问我与授权相关的确认...
| 归档时间: |
|
| 查看次数: |
836 次 |
| 最近记录: |