ReST API:我应该将访问令牌与数据库中的用户关联起来吗?

我正在nodeJS服务器上构build安全的ReST API,以便我的Android应用程序可以访问我网站上的数据。 根据阅读一些其他职位,我已经明白,我应该使用访问令牌。 所以我的想法是做到以下几点:

1)当用户loginAndroid应用程序时,应用程序向我的网站上的/api/login发送一个请求,提供用户名和密码(这当然需要通过SSL来防止窃听)。

2)我的服务器validation用户名+密码是否匹配,如果是,则用访问令牌进行响应。

3)应用程序使用这个访问令牌来完成对我的API的所有后续请求。

我的问题是我应该存储访问令牌在我的服务器上的数据库? 具体而言,我是否应该存储访问令牌与特定用户关联的事实? 我看过的大多数教程都没有这样做,但是如果我不这样做,那么用这个访问令牌来修改或者查看另一个用户的数据是什么呢? 我不需要将访问令牌与数据库中的用户配对?

尝试使用这个库,我做了同样types的项目,这个救命稻草是我的解决scheme。

如果你需要build立一个安全的API,事情会更复杂一点。 您需要使用专用密钥库对访问令牌进行签名。

是否可以使用Auth0等validation服务? 他们正在为您生成一个JWT令牌,您只需要validation此令牌。 API是完全无状态的。 你可以在他们的网站上find几乎任何编程语言的库。

你想要做的就是HTTP会话。

所以,我认为你可以使用HTTP会话function它已经在像Django,Spring等WAS框架中实现。如果NodeJS提供会话function,只需在框架中使用会话function。 如果不是,请查找HTTP会话库。 也许你可以find许多对待会话实现的库。