问题标签 [passport-facebook-token]

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 回答
394 浏览

node.js - 使用 passport-facebook-token 进行用户注册羽毛身份验证

我正在尝试允许用户通过“使用 facebook 登录”注册我的服务。

通过 Facebook 登录的移动应用用户注册

我已经完成了箭头 1-2。我需要做箭头 3-6。我在https://github.com/morenoh149/feathers-chat-facebook-signup-api做了一个最小的 Feathersjs 示例

我似乎无法获得羽毛身份验证和护照脸书令牌来生成用户对象并注册它们。我已经仔细审查了护照-facebook-token。这个答案解释了在对 passport-facebook-token 的回调中,您应该创建 User 对象。我如何使用羽毛身份验证来做到这一点?

当我在正文中提供令牌时

我明白了

当我将令牌作为标题传递时

我收到错误

0 投票
1 回答
188 浏览

node.js - Passport facebook 令牌 Oauth2 在令牌良好时抛出内部服务器错误,但在令牌错误时工作正常

我在这里想念什么?我已经浏览了这里的所有线程并用谷歌搜索了一段时间:

  • 在应用程序高级设置下将我机器的 IP 列入白名单。
  • 仔细检查了令牌,当它过期时,我可以在控制台上看到该错误。
  • 应用程序中的双重检查客户端 + 秘密 + 来源
  • 使用 google oauth 令牌尝试了一些事情,但我得到了预期的“未经授权”。

但是当一切都好并且我从邮递员或从我的前端发送一个带有该好令牌的请求时,我得到内部服务器错误,告诉我用户未在该行定义。我错过了什么?

路线代码:

没有导入的所有其他代码:

我正在完全按照文档中的方式导入 npm 包:

const FacebookTokenStrategy = require('passport-facebook-token');

我对此一无所知。

0 投票
1 回答
72 浏览

facebook - Facebook令牌通过公共页面刮

有人可以向我解释如何获取 Facebook 令牌以从公共页面中提取帖子吗?我不明白如何得到它。我使用 Graph API 并选择 user_posts 功能。

我相信我必须将应用程序提交到 Facebook,但我需要一个徽标来做到这一点?!请帮忙!

0 投票
2 回答
1859 浏览

node.js - 使用 NestJS 的 facebook-passport

我已经研究了这两者passport-facebook以及passport-facebook-token与 NestJS 的集成。问题在于 NestJS 使用自己的实用程序(例如 AuthGuard)抽象了护照实现。

因此,ExpressJS文档中的样式实现不适用于 NestJS。@nestjs/passport例如,这与软件包不兼容:

这篇博文展示了一种passport-facebook-token使用不熟悉的、不符合AuthGuard.

这里的问题是,这似乎与 NestJS 期望您处理护照策略的方式完全不同。它是一起被黑的。它也可能在未来的 NestJS 更新中中断。这里也没有异常处理;我无法捕获异常,例如由于正在使用的回调性质而InternalOAuthError引发的异常。passport-facebook-token

是否有一种干净的方法来实现其中一个passport-facebookpassport-facebook-token以便它使用@nestjs/passport'validate()方法?来自文档:对于每个策略,Passport 将调用验证函数(使用 @nestjs/passport 中的 validate() 方法实现)。应该有一种方法可以在构造函数中传递 a clientIdclientSecret然后将其余逻辑放入validate()方法中。

我想最终结果看起来类似于以下内容(这不起作用):

在我的特殊情况下,我对callbackURL. 我只是在验证客户端已转发到服务器的访问令牌。我只是把上面说得很清楚。

另外,如果您好奇,上面的代码会产生一个,InternalOAuthError但我无法在策略中捕获异常以查看真正的问题是什么,因为它没有正确实现。我知道在这种特殊情况下,access_token我传递的是无效的,如果我传递一个有效的,代码就可以工作。通过正确的实现,虽然我将能够捕获异常,检查错误,并能够向用户发出适当的异常,在本例中为 HTTP 401。

很明显,异常是在validate()方法之外抛出的,这就是为什么我们的 try/catch 块没有捕获InternalOAuthError. 处理此异常对于正常的用户体验至关重要,我不确定在此实现中 NestJS 处理它的方式是什么,或者应该如何进行错误处理。

0 投票
1 回答
159 浏览

passport.js - 在 IOS 中从 Facebook 应用程序使用 Passportjs Facebook 时会话过期

我尝试在我的网站上使用 passportjs facebook 并在不同的浏览器上进行了测试,但是当链接来自 facebook 应用程序本身,特别是在 IOS 上时,会出现一些问题。

使用的包:http: //www.passportjs.org/packages/passport-facebook/

场景是:

  • 分享您的登录网址以在您的 Facebook 时间线中发布
  • 在 ipad 上打开 facebook 应用程序
  • 单击在 facebook 时间轴上发布的链接以打开登录 url,并且应该会出现来自 facebook 应用程序的弹出式浏览器。
  • 使用passportjs点击你的facebook登录

结果:出现 Session Expired 弹出窗口,您将退出并要求再次登录,但不是从您的 url 而是从应用程序本身,所以我没有从它获得响应登录,因为它不再来自 passportjs 登录。知道如何解决这个问题或为什么会发生这种情况?

在此处输入图像描述

0 投票
0 回答
45 浏览

javascript - 使用“FacebookTokenError”错误代码实现护照-facebook 身份验证时出错:redirect_uri 不是绝对 URI。检查 RFC 3986

我正在使用本地主机来测试护照-facebook 身份验证,我一直在尝试实施身份验证,但我收到了上面提到的错误但无济于事,这是我用于 facebook 身份验证的 passport.js 代码

这是我用于初始化应用程序的 index.js 代码

这是我用于应用路由的 routes.js

这是我在浏览器上遇到的错误

这是终端上的相同错误