分离的前端与bone.js和node.js后端令牌

问题描述 投票:0回答:1

我有分开的项目

服务器端具有express的node.js可提供宁静的api,但返回JSON而不是html。 互联网上的所有示例都返回带有ejs的html。

前端是独立的应用程序,具有骨干和socket.io。

我想做一个登录和注册页面,我是在服务器端使用passport.js来完成的,但是我还不知道如何将令牌发送到前端并将其存储在那里,以便在每次请求到服务器时将其发送。 如果用户不在会话中,则必须显示登录页面。

我想要一种与oauth 2.0兼容的方法,用于多种身份验证策略。

对不起我的英语,我有很多帅哥,我不理解所有概念。

javascript json node.js backbone.js
1个回答
0
投票

基本上,您拥有的是一个API和一个客户端,并且您需要两件事:

  • 客户端能够在API上打开会话。
  • 客户端将能够在每个请求中嵌入其会话凭据,以便API知道谁在执行查询。

第一步

为了打开会话,您已经弄清楚了:您希望您的API成为Oauth Client

因此,当用户想要登录时,您的客户端会将其重定向到http://api.yourserver.com/login/google ,后者将重定向到google,而Google会使用允许您API访问的令牌再次重定向到您的API Google的API(因此,知道您的用户是谁)。

此令牌不能用于根据您的API进行身份验证。 它的唯一目的是允许您的API代表用户在Google服务上执行操作。

第二步

然后,您需要确定客户端将如何针对您的API进行身份验证。 您可以选择使用几乎每个人都可以使用的cookie(这是快速会话的默认设置)。

或者,如果您的API被许多不同的客户端使用,并且您无法控制这些客户端,则可以选择实施Oauth 服务器来保护您的API。

然后,客户端将使用“承载者令牌”(这是HTTP标头)针对您的API进行身份验证。

© www.soinside.com 2019 - 2024. All rights reserved.