以RESTful方式许可和会话

Lio*_*orH 7 authentication rest licensing restful-authentication

在我读完这篇文章后,这个问题在我脑海中 浮现:"常见的REST错误:会话无关紧要"

如果在RESTful应用程序中确实不鼓励会话.您将如何处理此类申请中的许可证.我特指的是并发许可证模型,而不是命名许可证.即客户购买X许可证,这意味着应用程序可以允许最多X个用户同时登录.这意味着应用程序必须为当前登录的用户保持状态.

我知道我可以创建一个名为licenses的资源,它将设置一个cookie或生成一个唯一的ID,然后客户端必须在每次请求时发送它.但它与创建会话相同,对吧?

如果我采用无状态方法并要求客户端为每个请求创建一个身份验证令牌,应用程序将如何知道何时为该客户端使用和释放许可证?

还有其他选择吗?特别是一个更RESTful的替代品?

Ara*_*gen 4

假设我正确地解释了你的问题,让我试着为你把这些点联系起来。您发布的链接有一个有效的答案,每个请求都应该使用 HTTP 身份验证。如果您需要许可证的概念来为您的用户维护某种状态,您很可能可以将其链接到用户。您有一个(经过验证的)用户名可供使用。您只需为每个请求调用该控制器并保存其状态。在那里你有你的会议。

Cookie 输入对于任何关键信息都不应被信任,但对于安全令牌等额外验证非常有用。我认为向您的现场链接添加随机安全令牌字段将是最安全的方法。当然,它应该随着“会话”而过期。