我想知道关于如何使用授权的RESTful服务器的最佳实践是什么。

假设登录后服务器向我提供了令牌,然后对于每个请求,我也必须提供它。我的问题是:我应该在服务器的会话中保存此令牌吗?还是应该针对每个请求针对数据库进行身份验证?

最佳答案

有几种方法。您只能将其保留在内存中,但是如果群集中有多个服务器,则必须确保对给定令牌的请求始终发送到同一服务器,或者在所有服务器之间分发令牌。

您还可以对令牌数据进行加密签名,在令牌中包含数据和签名,并在每次请求时验证签名。这样,您可以确定令牌已由您发行,并且您可以完全无状态。

请注意,如果您已经在使用HTTP会话,则令牌是多余的,因为会话机制已经在cookie中使用令牌来跟踪会话。

10-07 15:17