我正在尝试使用Express.js构建REST服务器。服务器将由移动本机客户端以及HTML / JS Web客户端使用。我希望HTML / JS Web客户端仅作为静态文件提供,并且将使用REST apis进行交互。
我有两个问题: 1)如何将OAuth2身份验证集成到服务中,以便我可以使用Facebook,Google等登录。我希望移动设备和Web客户端使用相同的API集。 2)如何向移动客户端发送推送通知?专门针对Apple移动客户端。
感谢。
答案 0 :(得分:0)
通过移动客户端,他们通常使用移动SDK从OAuth提供商(例如谷歌)请求访问令牌等。
他们接下来发送的是此访问令牌。您可以通过两种方式解决此问题 - 使用提供者访问令牌直接验证每个请求(确定类型,但不是很健壮)或使用提供者访问令牌向移动应用程序授予您自己的身份验证令牌(或会话,cookie,等等)你可能正在使用)。
第二种方式,我认为,更多才多艺。
怎么做? Passport.js
包含谷歌等模块。通常他们会在您的应用中插入几个端点,例如:
/auth/google
和
/auth/google/callback
现在,第一个通常用于在您的网络或移动网络项目上启动外部身份验证过程。 callback
网址是他们稍后使用访问令牌点击您的地方 - 这是您将从移动应用中使用的内容 - 他们获取令牌,然后点击您的/auth/:provider/callback
端点。< / p>