问题标签 [passport-twitter]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2915 浏览

passport.js - 在passport.js中进行Oauth身份验证后返回accesstoken

我想在我的应用程序中使用以下流程

  1. 用户选择通过 google 进行身份验证
  2. 我重定向到谷歌并获得回调(这使用 Passport 发生)

我现在想以响应用户的形式返回一个特定于我的应用程序的身份验证令牌。

我确实得到了成功回调,但我不知道如何从回调函数返回自定义访问令牌/响应。

我猜答案与使用 done() 或序列化或反序列化有关,我从文档或任何示例中都不清楚。您能否还解释一下 done() 或序列化或反序列化是如何使用的。

0 投票
1 回答
3286 浏览

mysql - Nodejs + 护照 + MySQL

我正在尝试弄清楚如何使用 nodejs + Passport + MySQL。似乎几乎每个教程都在使用 mongoDB,我不想这样做。事实上,这种类型的一些快速搜索会产生网页(http://nodejsrocks.blogspot.com/2012/04/nodejs-expressjs-mysql.html)和一个男人的 youtube 视频(https://www .youtube.com/watch?v=jGBbMVJx3h0)除了登录什么都不做,谁知道他真正在使用什么,但该页面的浏览量已超过 3K。我希望一些开发人员会看到这一点,并说也许有一种类似于 MySQL 的综合非 MVC 类型的东西的用途。我这样做的原因是我试图只获得 iOS 和 Android 功能,并且不需要大量的脚手架开销。只有数据库和服务器端脚本处理查询并将 JSON 对象返回到手机。

所以,话虽这么说,有这方面经验的人可以帮帮我(世界其他地方试图在没有任何深入教程的情况下做类似的事情,因为我们没有使用 mongoDB 和成熟的脚手架) .

我为“TwitterStrategy”设置的表是用户(id(PK)、用户名、电子邮件、盐、密码)和 twitterusers(id(PK)、名称、屏幕名称、位置、描述、url、img、令牌、令牌秘密)。

这是我试图从单个 main.js 文件中获取的代码。我知道这不是最佳实践,我计划稍后清理它,但现在,我想了解我缺少什么并让事情正常进行。如果有人可以提供帮助,将不胜感激,我相信其他人也会发现这非常有用。谢谢。

我错过了另一个身份验证表吗?我需要在点所在的 MySQL 语句中放入什么以便我可以找到用户,以及从用户请求中传递了哪些参数以进行查询,即我在其中看到的这个 oauth ID 是什么似乎是从用户到 twitter 进行授权的教程?另外,我应该从 Twitter 的回调中期待什么?无论如何,一旦我制定了解决方案,我会很高兴将所有这些发布在某个地方供其他人查看,这样我们所有使用 MySQL 和 node 的人就不会被排除在外,并且必须搜索谷歌才能找到看起来的东西好像它应该随时可用,而不是完全相同的 nodejs + mongoDB + express 教程的副本(除了 scotch io 之外,还有许多已经过时,如果你想使用 mongo,这看起来非常好......我可以在亚马逊上添加实例,在低端运行大约每月 279 美元),几乎所有有“教程”的人都在浮动并重新分发。再次感谢。

0 投票
1 回答
1458 浏览

node.js - 错误:在护照推特的会话中找不到请求令牌

以下是我在使用时遇到的错误passport-twitter-

以下是我实施的Scotch Twitter 注册教程,FB signup运行良好。

仅供参考-

我在 twitter 上多次检查了配置,我觉得一切正常(callbackURL、key、secret 等)

我检查了以下URL,但没有运气。

我的开发 URL 就像 -http://192.XXX.XXX.XX:PORT_NUMBER

以下是我的app.js app.js

以下是我的passport.js passport.js

以下是我的model.js buyer.js

让我知道我做错了什么,因为我现在完全迷失了这个错误:(

0 投票
1 回答
8206 浏览

node.js - 请求的资源上不存在“Access-Control-Allow-Origin”标头。Origin 'localhost:8080' 因此不允许访问

我在论坛上多次看到这个问题,但使用这些解决方案并没有帮助。

我正在使用 PassportJS 构建 MEAN 堆栈应用程序以允许使用 Twitter 登录。

我在服务器中的 route.js 有

现在,当 twitter 重定向到应用程序时,由于 CORS 问题,服务器重定向不起作用,我能够理解。要解决这个问题

我试过以下

但这仍然行不通。在网上阅读更多内容后,我的理解是 twitter 不发送 header-origin ,并且由于它是一个重定向,所以 node.js 服务器无法控制它收到的可以发送回浏览器的响应。

在这个阶段,我不确定如何进行。请指教

根据评论:这是 twitter 回调的响应

0 投票
1 回答
201 浏览

node.js - NodeJS 护照 - 推特信息

我的 twitter 身份验证工作正常,但是我需要的不仅仅是用户名和显示名,这只是 Passport 的限制。

我正在尝试这样做:

如果正在查看护照文件,它会限制您可以使用的数据。我猜如果您使用多种身份验证方法,它是一致的,但我只需要使用 twitter。

如果我只是记录配置文件,那么它会提供所有数据,所以我很困惑如何绕过它。我需要来自 twitter 的完整数据,而不仅仅是护照为我挑选的一些数据,我怎样才能得到这个?

0 投票
1 回答
4116 浏览

node.js - Passport.js OAuth 2.0 使用承载

我正在尝试实施 Google OAuth Passport.js 策略,但由于缺乏文档和示例,我似乎无法回答某些问题。

出于安全和技术原因,我的应用程序使用承载而不是 cookie。

passport-google-oauth GitHub 页面上提供的单个示例没有解释某些事情,例如:

  • 在这种情况下,承载策略实现如何替换 cookie?
  • 如何获取 Google 令牌的过期时间?
  • 我应该如何处理accessTokenrefreshToken

我真的不想使用 cookie,因为这会创建第二个授权系统,它是已经存在的承载策略的副本。

这个问题可以应用于其他护照 OAuth 策略,如 Twitter 和 Facebook。

0 投票
1 回答
1377 浏览

nginx - Sails.js + Nginx 代理背后的护照

我已经开始了一个新的 Sails.js 项目,并希望实现 passport-twitter 进行身份验证。

一切都使用sails-generator-auth模块正确实现,但在Twitter授权后我被重定向到

Sails 在 localhost:9090 上的 nginx 后面运行 - 我如何覆盖主机名?

到目前为止,我尝试设置 app.set('trust proxy'); 在 config/env/development.js

当我升起帆时,我看到了 console.log 输出,但它不影响重定向。

0 投票
1 回答
325 浏览

node.js - Passport 的 serializeUser 没有响应

我不太清楚如何在 express/SQL 中使用 Passport 的 serializeUser 函数。

以下是我的问题:

  1. passport.serializeUser 如何知道“用户”是什么?我应该在哪里指定它?
  2. passport.serializeUser 如何知道哪个请求对象应该与 cookie 绑定?

我的应用配置如下所示:

我还在 twitter_auth.js 中向应用程序公开了以下代码:

当我尝试发现它时:

我从来没有看到任何东西。怎么了?

0 投票
1 回答
436 浏览

javascript - 护照推特策略问题

我有一个我用 Koa 在 node 中编写的应用程序。我使用 passport 进行身份验证,使用 passport-twitter 进行 twitter oauth 以及 koa-passport 以使其与 Koa 一起使用。直到最近,登录的一切都运行良好。我开始在 github 上引起朋友们的一些兴趣,当我试图让新人参与该项目时,人们开始遇到无法登录并收到以下消息的问题:

哇!此页面没有请求令牌。这是我们要求使用您的 Twitter 帐户的应用程序所需的特殊密钥。请返回将您发送到此处的站点或应用程序,然后重试;这可能只是一个错误。

奇怪的是,我的生产服务器与存储库是最新的,并且那里的登录工作正常。我的两台本地机器上的登录也可以正常工作。当我从笔记本电脑中完全删除该项目并再次将其关闭时,它也开始出现问题。

这是我的 auth.js 中的代码

我已经npm list在生产和本地进行了比较以尝试使它们匹配,即使它们匹配,我的笔记本电脑也会出现该错误。

我检查了我的时钟,这是正确的,所以我完全没有想法。

完整代码在这里:http: //github.com/snollygolly/bloodhound

先感谢您。:)

0 投票
2 回答
1382 浏览

node.js - 如何禁用护照中的会话?

我试图在 passport.js 中禁用会话,但它不起作用,我仍然需要添加 express-session。

代码:

如何更改此代码中护照的默认会话?