在使用Node.js编写API时是否需要使用会话?

3
我正在使用Connect + ExpressJs。
在编写RESTful API时,我对会话和会话管理的重点感到困惑。有人能解释一下这里会话管理的重点吗?
编辑:
正在查看ExpressJs上的示例,其中涉及会话。

https://github.com/visionmedia/express/blob/master/examples/auth/app.js

如果我正在使用Oauth2.0 API,那么对于会话(session)的使用方式我感到困惑。


你能提供一些你所参考的具体代码吗?没有任何背景信息,很难知道你想要做什么。 - Swift
我正在编写一个由Oauth2.0认证的API,这个API将被移动应用程序使用。我也打算编写一个Web应用程序。我对会话的使用感到困惑,因为我已经在使用身份验证机制。 - Hick
所以,如果你看一下这个例子,它实际上并没有使用会话来进行 API。它用于登录用户和显示闪存消息。 - Swift
1个回答

4
当你在编写RESTful API时,除非计划执行需要跨多个请求对用户进行身份验证的操作,否则不需要会话管理。例如,也许你想要一个使用cookie的用户不需要使用API令牌或者你想通过使用cookie减少数据库请求。

大多数REST服务只是使用某种API密钥或令牌查找用户,因此不需要会话。

以下问题可能有帮助:


事实上,这正是我对于会话的作用感到困惑的地方,如果大多数交易都是基于API的话。不过,我猜想,一旦它成为Web应用程序,我就必须进行会话管理。 - Hick
一个更好的使用会话的例子可能是用于客户端JavaScript应用程序。您不希望在客户端存储API密钥,因此您可以使用cookie进行身份验证,然后他们可以在没有API密钥的情况下使用该API。 - Swift

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接