来自连接到 Node.js API 的移动客户端的社交身份验证

     2023-03-08     73

关键词:

【中文标题】来自连接到 Node.js API 的移动客户端的社交身份验证【英文标题】:Social auth from mobile client connected to Node.js API 【发布时间】:2016-03-29 08:21:51 【问题描述】:

我有一个使用 PassportJS 的 Node.js 服务器,它通过 Google、Facebook 和 Twitter 使用社交登录。

Node.js 服务器托管一个 API,该 API 使用 PassportJS 中间件来验证路由并安全地提供数据。 API 的存在是为了服务于一个 iOS 应用程序,该应用程序将是用户通过 Google、Facebook、Twitter “登录”的地方,随后将在我的服务上创建他们的帐户。

当各个公司的移动 SDK 用于 我的客户他们的服务器 之间的直接通信时,我如何才能做到这一点?我本质上想要一种 my clientmy server 对话的方式,该服务器与 their server 对话。如果整体想法不正确,请告诉我。

【问题讨论】:

相关 — passport.js RESTful auth 【参考方案1】:

我认为正确的做法是将移动应用与社交登录集成,而不是您的网站。

根据您在应用中使用的技术,您可以找到一些库来简化您的应用。在您的应用上,它可以是原生弹出窗口,或简单的应用重定向到 Facebook 应用、Google 应用或其他任何获取权限的应用,然后将应用重定向回您的应用。

您可能不希望浏览器弹出并将用户重定向到 facebook。很多用户只是在智能手机上使用 facebook 应用程序,他们甚至没有在智能手机的浏览器中登录 facebook 网站。

一旦您获得许可并获得用户信息,您就可以安全地将这些数据发送到您的服务器并存储起来以备将来使用。您可以将这些信息与设备 ID 相关联,或者生成一个令牌并将其发送回用户的设备并将其存储在那里以供将来进行身份验证。

【讨论】:

如何使用来自独立 node.js 应用程序的 ethers.js 连接到 Metamask 钱包?

】如何使用来自独立node.js应用程序的ethers.js连接到Metamask钱包?【英文标题】:HowcanIconnecttoaMetamaskwalletusingethers.jsfromastandalonenode.jsapplication?【发布时间】:2021-09-1003:15:08【问题描述】:我是加密领域的绝对菜鸟,并试图学习一... 查看详情

将 Socket.io 浏览器客户端连接到本地 Node.js 网络服务器

】将Socket.io浏览器客户端连接到本地Node.js网络服务器【英文标题】:ConnectingSocket.iobrowserclienttolocalNode.jsNetserver【发布时间】:2017-01-0702:41:25【问题描述】:我在HTTPS网站上启用了个人用户脚本。用户脚本正在使用Socket.io客户端AP... 查看详情

在 javascript/node.js 中连接到 Gmail IMAP API

】在javascript/node.js中连接到GmailIMAPAPI【英文标题】:ConnectingtotheGmailIMAPAPIinjavascript/node.js【发布时间】:2012-04-0510:49:17【问题描述】:我正在尝试通过其IMAPAPI连接到gmail。为此,我正在使用BrunoMorency的node-imaplibrary。为了创建oauth_... 查看详情

如何修复来自 Apollo 客户端的格式错误的身份验证标头错误

】如何修复来自Apollo客户端的格式错误的身份验证标头错误【英文标题】:HowdoIfixMalformedauthenticationheadererrorcomingfromApolloclient【发布时间】:2019-11-2718:15:29【问题描述】:我正在尝试使用ApolloClient将我的react应用程序连接到hasura... 查看详情

连接到节点 REST api 的应用程序被客户防火墙阻止

】连接到节点RESTapi的应用程序被客户防火墙阻止【英文标题】:ApplicationthatconnectstonodeRESTapiisbeingblockedbycustomersfirewall【发布时间】:2015-11-2004:59:48【问题描述】:我和我的公司正在开发一个从我们自己的构建API获取数据的Angular... 查看详情

带有 Node.js 后端的移动应用程序 - 为客户端开发选择啥框架?

】带有Node.js后端的移动应用程序-为客户端开发选择啥框架?【英文标题】:MobileappwithNode.jsbackend-Whatframeworktopickforclient-sidedev?带有Node.js后端的移动应用程序-为客户端开发选择什么框架?【发布时间】:2013-04-2318:31:13【问题描述... 查看详情

来自环境变量的钱包位置,而不是 oci 客户端的 sqlnet.ora

】来自环境变量的钱包位置,而不是oci客户端的sqlnet.ora【英文标题】:walletlocationfromenvironmentvariableinsteadofsqlnet.oraforociclient【发布时间】:2015-02-0602:12:33【问题描述】:我有一个oracle11g数据库服务器,我从OCI客户端连接到它。这... 查看详情

Web 套接字和 Flash 套接字客户端连接到一个 Node.js

】Web套接字和Flash套接字客户端连接到一个Node.js【英文标题】:Websocket&FlashsocketclientsconnecttooneNode.js【发布时间】:2014-05-2814:08:00【问题描述】:我在将Flash客户端连接到Node.js服务器时遇到问题。短篇小说:我第一次构建了一... 查看详情

尝试将客户端连接到服务器时出现Node.js Socket.io错误

】尝试将客户端连接到服务器时出现Node.jsSocket.io错误【英文标题】:Node.jsSocket.ioErrorwhentryingtoconnectclienttoserver【发布时间】:2022-01-2018:10:25【问题描述】:我正在尝试创建一个网络聊天,为此我们首先需要通过Node和Socket.io建立... 查看详情

获取连接到 Web 服务器的客户端的用户名

】获取连接到Web服务器的客户端的用户名【英文标题】:Getusernameofclientwhoconnectedtowebserver【发布时间】:2011-08-1502:54:10【问题描述】:这是场景。我是在AD域中的Web服务器上运行的代码。一些客户已连接到我。如何在不让客户在... 查看详情

无法连接到 Google API 客户端、GooglePlayServices

...其是游戏API,但我一直坚持这一点。我已经配置并编译了来自Google的两个示例并在我的设备上运行。它们都运行良好,成就、排行榜都是我在Goog 查看详情

如何找到连接到服务器的客户端的 IP 地址?

】如何找到连接到服务器的客户端的IP地址?【英文标题】:HowtofindtheIPAddressofClientconnectedtoServer?【发布时间】:2010-12-2220:42:30【问题描述】:我的客户端电脑通过以太网上的套接字作为服务器电脑连接,我如何从服务器端代码... 查看详情

获取连接到 SignalR 集线器的侦听器和客户端的数量

】获取连接到SignalR集线器的侦听器和客户端的数量【英文标题】:Getnumberoflisteners,clientsconnectedtoSignalRhub【发布时间】:2012-11-1022:38:49【问题描述】:有没有办法找出侦听器的数量(连接到集线器的客户端?)如果至少连接了一... 查看详情

尝试将 node.js unix 套接字客户端连接到 C 程序时出现 EPROTOTYPE 错误

】尝试将node.jsunix套接字客户端连接到C程序时出现EPROTOTYPE错误【英文标题】:EPROTOTYPEerrorwhilstattemptingtoconnectnode.jsunixsocketclienttoCprogram【发布时间】:2019-01-3115:43:29【问题描述】:我正在用Node.js重写一个PHP应用程序。C程序在也... 查看详情

获取使用 C# 连接到命名管道服务器的客户端的进程 ID

】获取使用C#连接到命名管道服务器的客户端的进程ID【英文标题】:GetprocessIDofaclientthatconnectedtoanamedpipeserverwithC#【发布时间】:2013-04-0907:53:50【问题描述】:我不确定我只是没有看到它,还是什么?我需要知道通过命名管道从N... 查看详情

在 Node.js 中连接到多个 MySQL 数据库

...问题描述】:我正在尝试使用某种类型的下拉列表来显示来自指定主机的所有数据库的列表。基本上,我的目标是让用户能够从下拉列表中选择一个数据库并能够运行报告。但是我被困在如何连接到主机并能够将列表显示到下拉... 查看详情

node.js学习笔记(代码片段)

笔记来自于视频:尚硅谷-快速入门nodejs简介概述之前的JavaScript代码是在浏览器客户端执行的,而Node.js可以使JavaScript代码在服务器上运行。Node的用途:Web服务API,比如REST·实时多人游戏后端的Web服务,例如跨... 查看详情

使用 Socket.io 将客户端连接到服务器

】使用Socket.io将客户端连接到服务器【英文标题】:ConnectingclienttoserverusingSocket.io【发布时间】:2012-04-1407:10:42【问题描述】:我对node.js比较陌生,它是插件,所以这可能是一个初学者问题。我正在尝试在网络服务器上获取一个... 查看详情