OAuth 和推送 Express.js

OAuth and Push with Express.js

我正在尝试使用 Express.js 构建 REST 服务器。服务器将由移动本地客户端以及 HTML/JS Web 客户端使用。我希望 HTML/JS 网络客户端仅作为静态文件提供,并且会使用 REST api 进行交互。

我有两个问题: 1) 如何将 OAuth2 身份验证集成到服务中,以便我可以使用 Facebook、Google 等登录。我希望移动客户端和 Web 客户端使用相同的 API 集。 2)如何向移动客户端发送推送通知?专门针对 Apple 移动客户端。

谢谢。

对于移动客户端,他们通常会使用他们的移动 SDK 从 OAuth 提供商(例如 google)请求访问令牌等。

然后他们会向您发送此访问令牌。您可以采用两种方式 - 使用提供者访问令牌直接验证每个请求(有点好,但不那么可靠)或使用提供者访问令牌向移动应用程序授予您自己的身份验证令牌(或会话、cookie 等)你可能正在使用)。

第二种方法,我认为更通用。

以及怎么做? Passport.js 有用于 google 的模块。通常他们会在您的应用中插入一些端点,例如:

/auth/google

/auth/google/callback

现在,第一个通常是您用来在 Web 或移动 Web 项目上启动外部身份验证过程的。 callback url 是他们稍后用访问令牌击中你的地方 - 这就是你将在你的移动应用程序中使用的 - 他们获得令牌,然后击中你的 /auth/:provider/callback 端点。